当前位置:网站首页>元组 字典 集合
元组 字典 集合
2022-08-09 09:47:00 【吴喜钟】
一.元组
1.元组的基本介绍
1.1 元组的表现形式tuple
1.2创建元组的方法:tuple()
tu = tuple()
1.3 元组是一个不可变序列
1.4 如果元组不是空的至少包括一个逗号,当元组不是空元组时括号可以省略
1.5 元组的解包:将元组中的每一个元素都赋值给一个变量。
a,b,c = 1,2,3
print('a=',a)
print('b=',b)
print('c=',c)
二.字典的简介
1.字典的介绍:字典属于一种新的数据类型,简称映射(mapping)
2.字典的特点:
2.1 字典相对于列表的存储性能比较差,但查询性能好,列表的存储性能好,但查询性能相对差。
2.2 字典中的键是唯一不能重复的,如果出现重复后面的会替换前面的
2.3 字典的值可以是任意的对象,字典的键可以是任意不可变对象
2.4 字典的作用与列表相似,都是用来存储对象的容器。
3.字典的使用方法
3.1 dict()该函数可创建字典
方法一:
dr = dict(name='葫芦娃',age=18,gender='female')
方法二:
dr = dict([('name','葫芦娃'),('age',18),'ab',('gender','female')])
3.2 get(key[,default]) 根据键来获取字典的值。第二个参数可以指定一个默认值,当获取不到值的时候会返回默认值
dr = dict([('name','葫芦娃'),('age',18),'ab',('gender','female')])
r = dr.get('classmate','boy')
3.3 通过key来修改字典中对应的value值或者向字典中添加key-value键值对
3.3.1 如果字典中有对应的key,则修改字典中key对应的value值
dr = dict([('name','葫芦娃'),('age',18),'ab',('gender','female')])
dr['name'] ='小朋友’
print(dr)
输出结果:
{
'name':'小朋友','age':18,'gender':'female'}
3.3.2 如果字典中没有对应的key,则表示向字典添加新的key-value键值对
dr = dict([('name','葫芦娃'),('age',18),'ab',('gender','female')])
dr['classmate'] ='男生’
print(dr)
输出结果:
{
'name':'葫芦娃','age':18,'gender':'female','classmate':'男生'}
3.4 update() 将其他字典的key-value添加到当前的字典当中
dr = {
'name':'葫芦娃','age':18,'gender':'female','classmate':'男生'}
dr_one = {
'birthday':20200909,'style':'deli'}
dr.update(dr_one)
print(dr)
输出结果:
{
'name': '葫芦娃', 'age': 18, 'gender': 'female', 'classmate': '男生', 'birthday': 20200909, 'style': 'deli'}
3.5 del 删除字典中的key-value
3.6 popitem()随机删除字典中的key-value键值对,一般都会删除字典中的最后一个,该方法有返回值,返回值为删除的key-vakue键值对组成的元组
dr = {
'name':'葫芦娃','age':18,'gender':'female','classmate':'男生'}
r = dr.popitem()
print(r)
print(dr)
输出结果:
('classmate', '男生')
{
'name': '葫芦娃', 'age': 18, 'gender': 'female'}
3.7 pop(key[,default]) 根据key删除指定的value,该方法也有返回值,返回的是删除的key对应的value。第二个参数可以指定一个默认值,当获取不到值的时候会返回默认值
dr = {
'name':'葫芦娃','age':18,'gender':'female','classmate':'男生'}
dr.pop('name')
print(r)
print(dr)
输出结果:
葫芦娃
{
'age': 18, 'gender': 'female', 'classmate': '男生'}
3.8 setdefault(key,value) :当字典中已经有相应的相同key的名字时,该方法不会对字典有任何作用,当字典中没有该key的相同的名字时,则会向字典中添加指定的key-value键值对
dr = dict([('name','葫芦娃'),('age',18),'ab',('gender','female')])
dr.setdefault('name','hello')
print(dr)
dr.setdefault('seion','hay')
print(dr)
输出结果:
{
'name': '葫芦娃', 'age': 18, 'a': 'b', 'gender': 'female'}
{
'name': '葫芦娃', 'age': 18, 'a': 'b', 'gender': 'female', 'seion': 'hay'}
三.浅复制与深复制(该方法不仅适用于字典,也适用于列表等)
1.copy() 方法用来对字典进行浅复制
注意:浅复制只会复制字典本身,如果字典中还有个字典是不会进行复制的
dr = {
'name':'葫芦娃','age':18,'gender':'female','classmate':'男生'}
d = dr.copy()
print(d)
输出结果:
{
'name': '葫芦娃', 'age': 18, 'gender': 'female', 'classmate': '男生'}
2.deepcopy()用来对字典进行深复制
注意:深复制不仅会复制字典本身,如果字典中还有个字典是同样可以进行复制的
import copy
dr = {
'name':'葫芦娃','age':18,'gender':'female','classmate':'男生','li':[1,2,3,4]}
d = copy.deepcopy(dr)
d['li'][0] = 'hello'
print(d)
print(dr)
输出结果:
{
'name': '葫芦娃', 'age': 18, 'gender': 'female', 'classmate': '男生', 'li': ['hello', 2, 3, 4]}
{
'name': '葫芦娃', 'age': 18, 'gender': 'female', 'classmate': '男生', 'li': [1, 2, 3, 4]}
四.遍历字典
1.keys() 该方法法返回字典所有的key
语法:
dr = {
'name':'葫芦娃','age':18,'gender':'female','classmate':'男生'}
for key in dr.keys():
代码块
2.values() 该方法返回一个序列 序列中保存有字典的值
语法:
```python
dr = {
'name':'葫芦娃','age':18,'gender':'female','classmate':'男生'}
for value in dr.values():
代码块
3.items() 该方法会返回字典中所有的项 它返回一个序列,序列中包含有双值子序列 双值分别是 字典中的key和value
语法:
dr = {
'name':'葫芦娃','age':18,'gender':'female','classmate':'男生'}
for i in dr.items():
代码块
边栏推荐
猜你喜欢
随机推荐
MySQL约束关系,你必须要知道的知识点!
unix环境编程学习-多线程
Cisco common basic configuration of common commands
列表
Thread,Runnable,ExecutorService线程池控制下线程量
通过程序发送 Gmail 邮件
5.Set interface and implementation class
1.流的概念
2.线程创建
Super detailed MySQL basic operations
写一个通讯录小程序
latex中复杂公式换行等号对齐
EndNote使用指南
命令行查询数据库
多线程(基础)
ArrayList和LinkedList
static_assert报错为什么?
自定义类型:结构体,枚举,联合
记录一次被入侵5900端口经历
Quick sort eight sorts (3) 】 【 (dynamic figure deduction Hoare, digging holes, front and rear pointer method)