python for 数据类型【字典】

dict 字典  {}   python唯一的一个键值对数据

键值对 {键:值}
键必须是不可变的数据类型
字典是不能当字典的键,因为字典是可变的
值是没有任何要求的

dic = {'key':'v',1:'True',False:'asdf',(1,2,3):[1,2,3,4]}
len()
for i in dic:
print(i)
{'key':1}

不可变:(可哈希)

数字 字符串 元组 布尔值

可变: (不可哈希)

列表 字典


字典里的键必须保证唯一(不能重复)
python36 有顺序打印
python35及以下无序打印



dic['3'] = '小奶狗的芭比'
print(

增 如果这个键不在字典中就是添加,存在就是修改


dic.setdefault('周阳','国家一级大厨') #存在就不进行添加,不存在就添加
# setdefault中第一个参数是键 第二参数是值 如果不写值就默认为None
print(dic)


dic.setdefault('艺术哥','就上了') #存在就不进行添加,不存在就添加
# setdefault中第一个参数是键 第二参数是值 如果不写值就默认为None
print(dic)



###### 字典是没有remove


s = dic.pop('3') # pop返回的是被删除的值 pop一定要给人家参数 参数是要删除的键
print(s)
print(dic)

s1 = dic.popitem() # 随机删除 在python36中删除最后一个 python35及以下随机删除
print(s1) popitem返回的是被删除的键值对以元组的形式显示
元组中第一个是字典中的键 第二个是字典中的值
print(dic)


del dic # 删除整个字典
print(dic)

del dic['3'] #通过dic['键']删除
print(dic)

dic.clear() #清空



dic = {1:2,'3':8,False:True,(1,2,3):['132','qw'],'周公':'移山'}
dic1 = {'周公':'放我的孩子们',4:89}
# dic[1] = 78 # 如果这个键在字典中就是修改,不存在就是添加
# print(dic)

dic1.update(dic)
print(dic1)


dic = {1:2,'3':8,False:True,(1,2,3):['132','qw'],'周公':'移山'}
s = dic.get(4) #不报错,默认返回None 可以自己定义返回值

print(dic["键"]) #报错
print(s)

其他操作

dic = {1: 2, '3': 8, False: True, (1, 2, 3): ['132', 'qw'], '周公': '移山'}

print(dic.keys()) #高仿列表A货
print(dic.values()) #高仿列表A货
print(dic.items()) #以元组形式将键值对放在一个高仿列表里

for k,v in dic.items():
print(k,v)


for i in dic.values():
print(i)

for i in dic:
print(i) # 获取到的是键


if 1 in dic:
print(666)

for i in dic:
# print(dic[i])
print(dic.get(i)) #使用get

for i in dic:
print(i,dic[i])


解构:

a,b = 1,2
print(a)
print(b)

a = 10
b = 20
a,b = b,a


c,d = (1,2)
print(c)
print(d)

a,b = [1,2]
print(a)
print(b)

a,c = 12 ,8
print(a)
print(c)


字典的嵌套:

dic = {'name': '汪峰',
'age': 48,
'job': '输出',
'wife': [{'name': '葛



慧杰','age':20,'job':'输入','baby':'小苹果'},
{'name': '国际章', 'age': 23, 'job': '国际输入', 'baby': ['胸大', '熊二']}],
}

print(dic['wife'][0]['name'])
print(dic['wife'][0]['baby'])
print(dic['wife'][1]['baby'][0])
 

猜你喜欢

转载自www.cnblogs.com/q240756200/p/9898169.html