day6 字典


字典的创建方式
  注意 字典是无序的
  1. dic{"name":"yang","age":35}     常用还是用这个
  2. dic3 = dict((("name","yang"),))   有点麻烦,借助类的方法创建:每个list或者dic都是自己的便携的创建方法。
  3. dic6 = dict.fromkeys(["host1","host2","host3"],"test")
    这个可以实现类似于初始化的操作,将多个键值一起赋值
    打印出来之后:{'host1': 'test', 'host2': 'test', 'host3': 'test'}


字典的嵌套
  内部可以嵌套列表元祖字符串等
1 # 字典的嵌套
2 china = {
3     "shandong":["linyi","liaocheng"],
4     "hubei":{"wuhan":"shenghui","suizhou":"city"},
5     "dhahsd":"xxx"
6 }


字典的遍历
 1 dic7 = {"name":"alex","age":18}
 2 print(dic7.items())
 3 for i in  dic7:           # 循环打印键
 4     print(i)
 5 
 6 for i in  dic7:           # 循环打印值
 7     print(i,dic7[i])      # 推荐用这种方式,效率高一些
 8 
 9 for i,v  in dic7.items(): # 循环打印值
10     print(i,v)

增删改查

修改
1 # 修改
2 # 根据类型,字典就找键,列表就找索引位置,最后赋值
3 china["shandong"][0] = "qingdao"
4 print(china)
删除
 1 # 删除
 2 #del 删除指定键值对,也可以删除整个字典
 3 del dic5["name"]
 4 print(dic5)
 5 del dic5  # 删除整个字典
 6 
 7 #clear 清空,但是会保留空字典
 8 dic5.clear()
 9 print(dic5)
10 
11 # pop 弹出,可以返回值再次对其他变量进行赋值操作
12 ret = dic5.pop("hobby")
13 print(ret)
14 print(dic5)
15 
16 #emmm...废物命令,字典是无序的,此命令是随机删除某个键值对,并以元祖形式
17 a = dic5.popitem()
18 print(a,dic5)

 


 

其他方法

1 # 带默认值的查询
2 # setdefault(键,默认值)
3 # 根据键查值,若查不到返回默认值,查到则返回真实值
4 print(china.setdefault("某个没值的或者不存在的键","默认值"))
5 #  结果:默认值
1 # 排序
2 seq = {2:"333",3:"555",6:"111"}
3 print(sorted(seq))           # 按照键排序
4 print(sorted(seq.values()))  # 按照值排序
5 # ps: 列表可以用.sort进行排序,字典里面没有这命令


总结:
字典的值可以任意值,但是键不能是布尔值,字典,或者列表。
字典是无序的
.get 指定键来取其值,不存在时可以指定默认值,默认是none
.update 更新已存在的,不存在可以增加。
.keys 返回所有的键
.valaues 返回所有的值
.items 返回所有的键值对
.pop 删除键,可赋值,赋值的时候是赋键的值,不存在时可以指定默认值,默认是none

转载于:https://www.cnblogs.com/shijieli/p/9681337.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值