字典
构建字典
a = {"first": "John", "last": "Smith"} # {'first': 'John', 'last': 'Smith'}
# from a list of tuples
b = dict([("first", "John"), ("last", "Smith")])
# from keyword arguments
c = dict(first="John", last="Smith")
# from dictionary comprehension
d = {x: x**2 for x in range(10)} # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
遍历元素
a = {"domain": "literank.com", "services": 29, "year": 2017}
for k, v in a.items():
print(k, '->', v)
添加/更新元素
a = {"first": "John", "last": "Smith"} # {'first': 'John', 'last': 'Smith'}
a["age"] = 26
a["first"] = "Tom"
print(a) # {'first': 'Tom', 'last': 'Smith', 'age': 26}
检查是否存在
a = {"first": "John", "last": "Smith"}
print("first" in a) # True
print("age" in a) # False
字典常用方法
fromkeys
a = ['a', 'b', 'c']
b = dict.fromkeys(a, 10) # 10 is the default value for all keys
print(b) # {'a': 10, 'b': 10, 'c': 10}
clear 清空
a = {"first": "John", "last": "Smith"}
a.clear()
print(a) # {}
get 获取
a = {"first": "John", "last": "Smith"}
print(a.get("first")) # John
print(a.get("age", 28)) # 28
get 方法签名是 get(key[, default])
。如果 key 存在, 返回其值;否则,返回 default 参数给定值。
如果 default 参数没有传值,默认设置其为 None
。因此,该方法不会抛出 KeyError。
setdefault 设置(带默认值)
a = {"first": "John", "last": "Smith"}
a.setdefault("first", "Tom")
a.setdefault("age", "12")
print(a) # {'first': 'John', 'last': 'Smith', 'age': '12'}
setdefault 方法签名是 setdefault(key[, default])
。如果 key 存在,返回其值;否则,插入 key 及其 default 键值对,并返回 default。
此处 default 默认值也是 None
。
解构字典
def passport_check(first, last):
print(f"{first} {last} is ok to go!")
a = {"first": "John", "last": "Smith"}
# unpack with double asterisks
passport_check(**a) # John Smith is ok to go!
代码挑战
修改编辑器中代码使其交换字典中的 key-value 键值对。
比如: {'a': 'b'} 交换成 {'b': 'a'}
Loading...
> 此处输出代码运行结果