字典也是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据。 比如有份成绩表数据,语文:79,数学:80,英语:92,这组数据看上去像两个列表,但这两个列表的元素之间有一定的关联关系。如果单纯使用两个列表来保存这组数据,则无法记录两组数据之间的关联关系。由于字典中的 key 是非常关键的数据,而且程序需要通过 key 来访问 value,因此字典中的 key 不允许重复。
        程序既可使用花括号语法来创建字典,也可使用 dict() 函数来创建字典。实际上,dict 是一种类型,它就是 Python 中的字典类型。
在使用花括号语法创建字典时,花括号中应包含多个 key-value 对,key 与 value 之间用英文冒号隔开;多个 key-value 对之间用英文逗号隔开。

a = {'v1': 12,
'v2': 13,
'v3': 14,
12: 12
} for x in a: # 遍历key值
print("{}\t\t{}".format(a["v1"],
a["v2"])
)
for x in a.keys(): # 循环输出KEY
print(x)
for x in a.values(): # 循环输出值
print(x)
for x, y in a.items(): # 循环键值对
print(x, y) a.pop('v1') # 删除指定key值的对应键值对 b = dict.fromkeys([1, 2, 3, 4], 123) # 根绝序列,创建字典,并且统一的值
print(b) #{1: 123, 2: 123, 3: 123, 4: 123} print(b.get('', 22222)) # 如果获取不到制定元素,就会返回后面填写的值 :22222 print(b.pop(1)) # 删除指定元素的值并且存于POP里面 :123 print(b.pop('', 2222)) # 如果删除的时候找不到制定元素,就会返回后面填写的值 print(b.popitem()) # 随机删除一个键值对 print(b.setdefault('', 9)) # 设置值存在,不设置;设置值不存在就添加 print(b.update({1: 4444, 5: 123})) # 更新建,如果找不到指定键就会添加 a.update(v1=123, v2=123) # 更新键(只能更新字符串里的键,合并两个键,数字不允许更新)
print(a)

补充:

del radiansdict['Name'] # 删除键 'Name'

radiansdict.clear()     # 清空字典

del radiansdict         # 删除字典

len(radiansdict)      #计算字典元素个数,即键的总数。

str(radiansdict)       #输出字典,以可打印的字符串表示。

type(radiansdict)   #返回输入的变量类型,如果变量是字典就返回字典类型。

radiansdict.copy()    #返回一个字典的浅复制

radiansdict.items()  #以列表返回可遍历的(键, 值) 元组数组

radiansdict.keys()   #返回一个迭代器,可以使用 list() 来转换为列表

radiansdict.setdefault(key, default=None)#和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default

radiansdict.update(dict2) #把字典dict2的键/值对更新到dict里

radiansdict.values() #返回一个迭代器,可以使用 list() 来转换为列表

pop(key[,default])  #删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。

popitem()   #随机返回并删除字典中的最后一对键和值。

最新文章

  1. css中的浮动与三种清除浮动的方法
  2. GroupData群数据库的还原与优化
  3. BZOJ2286: [Sdoi2011]消耗战
  4. 【转】最短路&差分约束题集
  5. Swift学习笔记五
  6. jquery的一些select操作小记
  7. 定时备份为Sharepoint做网站备份,并删除指定日期的备份
  8. [Angular Tutorial] 10 -More Templating
  9. 简单两步快速学会使用Mybatis-Generator自动生成entity实体、dao接口和简单mapper映射(用mysql和oracle举例)
  10. [转]压缩感知重构算法之分段正交匹配追踪(StOMP)
  11. Several ports (8005, 8080, 8009)被占用
  12. python 数据结构之二分查找的递归和普通实现
  13. sparse-table模板
  14. Gym - 100851F - Froggy Ford(dijkstra)
  15. php中if(\$a==\$b)和if(\$a=\$b)什么区别?
  16. Request.QueryString()和Request()和Request.Form();
  17. java程序员必知的8大排序
  18. Nodejs之mssql模块的封装
  19. python super()使用详解
  20. calico网络

热门文章

  1. SCRUM术语
  2. CF803G - Periodic RMQ Problem 动态开点线段树 或 离线
  3. HDU 5126 stars 4维偏序, CDQ套CDQ
  4. codeforces 820 C. Mister B and Boring Game(找规律)
  5. git连接远程分支
  6. Python中字符编码及转码
  7. Cannot create PoolableConnectionFactory (null, message from server: "Host 'admin-PC' is not allowed to connect to this MySQL server")
  8. Centos7上安装jdk8
  9. 使用opencv训练分类器时,traincascade训练报错:Train dataset for temp stage can not be filled.解决方法
  10. java架构之路-(12)JVM垃圾回收算法和垃圾回收器