【python小随笔】字典的使用
2024-09-01 10:52:38
字典也是 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() #随机返回并删除字典中的最后一对键和值。
最新文章
- css中的浮动与三种清除浮动的方法
- GroupData群数据库的还原与优化
- BZOJ2286: [Sdoi2011]消耗战
- 【转】最短路&;差分约束题集
- Swift学习笔记五
- jquery的一些select操作小记
- 定时备份为Sharepoint做网站备份,并删除指定日期的备份
- [Angular Tutorial] 10 -More Templating
- 简单两步快速学会使用Mybatis-Generator自动生成entity实体、dao接口和简单mapper映射(用mysql和oracle举例)
- [转]压缩感知重构算法之分段正交匹配追踪(StOMP)
- Several ports (8005, 8080, 8009)被占用
- python 数据结构之二分查找的递归和普通实现
- sparse-table模板
- Gym - 100851F - Froggy Ford(dijkstra)
- php中if(\$a==\$b)和if(\$a=\$b)什么区别?
- Request.QueryString()和Request()和Request.Form();
- java程序员必知的8大排序
- Nodejs之mssql模块的封装
- python super()使用详解
- calico网络
热门文章
- SCRUM术语
- CF803G - Periodic RMQ Problem 动态开点线段树 或 离线
- HDU 5126 stars 4维偏序, CDQ套CDQ
- codeforces 820 C. Mister B and Boring Game(找规律)
- git连接远程分支
- Python中字符编码及转码
- Cannot create PoolableConnectionFactory (null, message from server: ";Host 'admin-PC' is not allowed to connect to this MySQL server";)
- Centos7上安装jdk8
- 使用opencv训练分类器时,traincascade训练报错:Train dataset for temp stage can not be filled.解决方法
- java架构之路-(12)JVM垃圾回收算法和垃圾回收器