字典
特点:{"key1": value1, "key2":value2} , 键值对中的值可以为任何数据类型,键不能为列表、字典(无法哈希),布尔值可以为键(0/1)但是可能会与其他的键重复;字典的存储是无序的。
基本操作:
# 字典 info = { "k1": 18, 2: True, "k3": [11, 22, 33], "k4": {"kk1": "vv1", "kk2": (44, 55)}, "k5": (66, 77) } # 通过索引找到指定元素 v = info["k4"]["kk2"][0] print(v)
输出:
44
# 字典支持 del 删除 del info["k4"]["kk2"] print(info)
输出:
{‘k1‘: 18, 2: True, ‘k3‘: [11, 22, 33], ‘k4‘: {‘kk1‘: ‘vv1‘}, ‘k5‘: (66, 77)}
# for 循环遍历列表(默认输出键) for i in info.keys(): # keys()可以省略 print(i)
输出:
k1 2 k3 k4 k5
# for 循环输出值 for i in info.values(): print(i)
输出:
18 True [11, 22, 33] {‘kk1‘: ‘vv1‘, ‘kk2‘: (44, 55)} (66, 77)
# for 循环输出键值对 for k, v in info.items(): print(k, v)
输出:
k1 18 2 True k3 [11, 22, 33] k4 {‘kk1‘: ‘vv1‘, ‘kk2‘: (44, 55)} k5 (66, 77)
方法:
1、clear()
2、copy() (浅拷贝)
参考Python - 基本数据类型及其常用的方法之字符串篇
3、fromkeys()(静态方法:类名加方法引用)
# 根据序列, 创建字典, 并指定统一的值 v = dict.fromkeys(["wo", "ai", "ni"], "wyj") print(v)
输出:
{‘wo‘: ‘wyj‘, ‘ai‘: ‘wyj‘, ‘ni‘: ‘wyj‘}
3、get()
info = {"k1": "v1"} # 根据key获取值,当key不存在时,返回指定的值 # 当key不存在时且未指定返回值时返回None v = info.get("k1") print(v) v = info.get("k2", 111) print(v)
输出:
v1 111
4、pop()
info = { "k1": "v1", "k2": "v2" } # 删除并获取值 v = info.pop("k1") # 指定键值对中的键并删除 print(info, v)
输出:
{‘k2‘: ‘v2‘} v1
v = info.pop("k3", 111) # 指定的键不存在时,不删除返回指定的值 print(info, v)
输出:
{‘k1‘: ‘v1‘, ‘k2‘: ‘v2‘} 111
5、poplines()
info = { "k1": "v1", "k2": "v2" } # 随机删除并获取值 # v = info.popitem() # print(info, v) k, v = info.popitem() print(info, k, v)
输出:
{‘k1‘: ‘v1‘} k2 v2
6、setdefault()
info = { "k1": "v1", "k2": "v2" } # 设置值 # 若指定的key已存在,不设置,获取对应的value值 # 若指定的key不存在,设置,获取对应的指定的key的value值 v = info.setdefault("k1", 123) print(info, v) v = info.setdefault("k3", 123) print(info, v)
输出:
{‘k1‘: ‘v1‘, ‘k2‘: ‘v2‘} v1 {‘k1‘: ‘v1‘, ‘k2‘: ‘v2‘, ‘k3‘: 123} 123
7、update()
info = { "k1": "v1", "k2": "v2" } # 覆盖已存在的,添加未存在的 info.update(k1=123, k2=456, k3="wyj") # info.update({"k1": 123, "k2": 456, "k3": wyj}) print(info)
输出:
{‘k1‘: 123, ‘k2‘: 456, ‘k3‘: ‘wyj‘}
布尔值
特点:bool(True/False) 其中None、 {}、 []、0、()、“”==> False,其他都为True
原文地址:https://www.cnblogs.com/Fu-yi/p/11624031.html
时间: 2024-09-29 20:07:52