字典

字典基本使用

语法
{键:值1,键:值2,键n:值n}
键只能是不可变类型 不能使用 列表 字典 集合
value 任意数据类型
注意事项
键的名字不能重复 否则 后面会把前面的覆盖掉
键值对 一定要 , 号隔开
键 值 如果是 字符串 一般用 ‘’ 隔开

person = {'name':'zhangsan',
          'age':18,
          (1,2,3):666,
          666:None,
          'other':[1,2,3,4,5],
          'data':{'name':'zhang','age':18},
          # [1,2,3,4]:666 #报错 不能是可变类型
          # {'name':'hh','age':14}
          }
print(person) #{'name': 'zhangsan', 'age': 18, (1, 2, 3): 666, 666: None, 'other': [1, 2, 3, 4, 5], 'data': {'name': 'zhang', 'age': 18}}

字典的查询

#列表 根据下标或者索引查找
#字典 根据键 查找
#字典不支持 切片

person = {'name':'刘德华','age':45,'sex':'男'}
print(person['name'])#刘德华
# print(person['height'])#键不存在立马报错
print(person.get('name')) #刘德华  获取
print(person.get('name','age')) #刘德华 最多两个 返回第一个键的内容
print(person.get('name','张学友')) #刘德华  返回第一个键

x= 'age'
print(person[x]) #45
print(person.get(x)) #45

不存在 就增加 存在就是修改

person = {'name':'刘德华','age':45,'sex':'男'}
person['addr']='中国香港'
print(person) #不存在 就增加  存在就是修改  {'name': '华仔', 'age': 45, 'sex': '男', 'addr': '中国香港'}

pop popitem del clear remove

# 字典.pop(键) 删除对应的键
x= person.pop('addr') # 删除 key addr 对应的 元素 赋值给x
print(x)    #中国香港
print(person)#{'name': '华仔', 'age': 45, 'sex': '男'}

#字典.popitem()  删除最后一个键
res = person.popitem()
print(res) #删除最后一个键值对 结果是元组类型
print(person) #{'name': '华仔', 'age': 45}

#del 字典[键] 删除对应的键
del person['age'] #删除 键为age的键值对
print(person) #{'name': '华仔'}

#字典.clear() 删除整个字典
person.clear() #删除整个字典
print(person) #{}

#字典.remove(元素)
#直接删除元素

存在 就是修改

person = {'name':'刘德华','age':45,'sex':'男'}
person['name'] = '华仔'
print(person) #{'name': '华仔', 'age': 45, 'sex': '男'} #存在  就是修改

拼接

update

#字符串拼接
str1= 'hello'
str2= 'world'
print(str1+str2)#helloworld

#列表拼接
list1=['zhangsan','lisi','wangwu']
list2=['qi','ba','jiu','shi']
# print(list1+list2)#['zhangsan', 'lisi', 'wangwu', 'qi', 'ba', 'jiu', 'shi']
list1.extend(list2) #['zhangsan', 'lisi', 'wangwu', 'qi', 'ba', 'jiu', 'shi']
print(list1)
#元组拼接
tuple1 = ('zhangsan','lisi','wangwu')
tuple2 = ('qi','ba','jiu','shi')
print(tuple1+tuple2)#('zhangsan', 'lisi', 'wangwu', 'qi', 'ba', 'jiu', 'shi')

#字典拼接
person1 = {'name':'刘德华',
          'age':45,
          'sex':'男'
          }
person2 = {'name2':'刘嘉玲',
          'age2':43,
          'sex2':'女'
          }
# print(person1+person2)  #报错
person1.update(person2) #{'name': '刘德华', 'age': 45, 'sex': '男', 'name2': '刘嘉玲', 'age2': 43, 'sex2': '女'}
print(person1) #合并过程中 如果已经存在 后面的 覆盖前面的
person2.update(person1)
print(person2)

字典的遍历

#第一种方法
person1 = {'name':'刘德华','age':45,'sex':'男'}
for x in person1:
	print(x,':',person1[x]) #键:值

#第二种方法  获取键
print(person1.key())
for x in person1.key():
	print(x,':',person1[x])

#第三种方法 获取字典里的所有值  不能以值取键
print(person1.value())
for x in person1.value()
	print(x)

#第四种方法 同时遍历键和值
print(person1.item())
#列表 元素是 元组
x,y = (10,20)
print(x,y) #从元组中取出对应的值
for key,value in person1.item():
	print(key,':',value,sep='')

字典的推导式(生成式)

res = {'a':3,'b':2,'c':3,'d':1}
new_res ={}
for x,y in res.items():
    new_res[y] = x
print(new_res)

#推导式
new_res = {y:x for x,y in res.items()}
print(new_res)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值