字典
字典的每个元素就是一个键值对,格式如下
key:value
{key1:value1,key2:value2,......}

1、创建

dict_eg = {
"name":"wangchengliang
"age":"25"
"sex":"male"
"salary":"100W"
} dict_eg1 = dict(key1=123,key2=456)

2、常见操作

dict_user_info = {
"name":"wangchengliang",
"age":"25",
"sex":"male",
"salary":"100W"
}

索引

print(dict_user_info["name"])

del删除元素

del test1["a1"]
print("---",test1)

for循环
循环,默认输出所有的key

for k in  dict_user_info:
print(k)

或者这样通方法keys()获取

for k in dict_user_info.keys():
print(k)

获取字典中所有的value

for v in dict_user_info.values():
print(v)

获取字典中的键和值

for k,v in dict_user_info.items():
print(k,':',v)

3、常见特有方法
索引取值,key不存在会报错,get方法不会,不存在返回none
get方法取值

print(dict_user_info.get("name"))

下面索引取值不会报错,键name1不存在返回None

print(dict_user_info.get("name1"))

索引取值

print(dict_user_info["name"])

下面索引取值会报错,因为键name1不存在

print(dict_user_info["name1"])

update可以将一个字典更新到另外一个字典

test1 = {
"a1":1,
"a2":2
}
dict_user_info.update(test1)
print(dict_user_info)

pop 根据指定的键删除元素

dict_user_info.pop("name")
print("----",dict_user_info)

popitem 随机删除字典中的某个键值对,并可以把删除的值赋值给一个变量

tmp=dict_user_info.popitem()
print("===",dict_user_info)
print(tmp)

清空字典

dict_user_info.clear()
print(dict_user_info)

4、其他

dict的追加

d = {}

方法一

d["k1"]= "wang"
print(d)

方法二

d.update({"k2":"25"})
print(d)

列表转换为字典

li = ["wang","cheng","liang"]

方法一

dic = {}
for i,j in enumerate(li,1):
dic[i] = j
print(dic)

方法二

new_dic=dict(enumerate(li,1))
print(new_dic)

凡是方法前有@staticmethod这个的时候,调用方式为"类.方法"
创建一个字典,键一次为key1 key2 key3 ,值均为test

d1=dict.fromkeys(["key1","key2","key3"],"test")
print(d1)

凡是方法没有@staticmethod这个的时候,调用方式为"对象.方法"

d2 = {"key1":"wang","key2":"cheng","key3":"liang"}
print(d2)

从d2中依次找到"key2","key3",并将值替换为"hehe","key4"没有,就追加,形成的是新字典,和之前的字典没有关系

d3=d2.fromkeys(["key2","key3","key4"],"hehe")
print(d3)

最新文章

  1. CentOS 7.2安装docker-compose运行gitlib
  2. 16进制ascii码转化为对应的字符,付ipmitool查询硬件信息
  3. ADB server didn't ACK
  4. why happen "WaitHandles must be less than or equal to 64"
  5. Spring环境搭建之:导入jar包、配置文件名称及放置位置
  6. C# SHA1散列算法
  7. vim 正则替换
  8. iOS - OC NSUserDefaults 数据存储
  9. Linux 的多线程编程的高效开发经验(转)
  10. bzoj1266
  11. wDatePicker使用说明文档
  12. python版mapreduce题目实现寻找共同好友
  13. 实现基于LVS负载均衡集群的电商网站架构
  14. UICollectionView具体解释
  15. [TJOI 2013]拯救小矮人
  16. 《k8s-1.13版本源码分析》-调度器初始化
  17. C语言中的神兽strdup
  18. 关于SQL优化的一点建议
  19. java位运算(&、|、 ~、>>、>>> 、 ^)
  20. HTML5:链接与路径

热门文章

  1. Java基础 之 System.getProperty()方法
  2. ACM学习历程—HDU5637 Transform(数论 && 最短路)
  3. P1364 医院设置
  4. vmware的双网卡以及Pro的注册码
  5. bzoj 4816 数字表格 —— 反演
  6. Amaze UI 框架
  7. maven---工程建立及目录添加--
  8. python超大数计算
  9. Mybaits整合Spring自动扫描 接口,Mybaits配置文件.xml文件和Dao实体类
  10. Linux UDP通信例子