python 每日一练
格式化输出
多层索引访问
遍历字典
格式化输出
创建一个字典
• key是a、b、c,value分别是列表110、列表1120、列表21~30
• 格式化输出字典
最终产生如下输出:
{‘a’: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
‘b’: [11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
‘c’: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30]}
提示:
• pprint打印数据,会产生比较整齐的输出
答案
from pprint import pprint
d = {“a”: list(range(1, 11)),
“b”: list(range(11, 21)),
“c”: list(range(21, 31))}
pprint(d)
解释:
• list(range)的组合,可以把一串数字变成list
• pprint打印数据,会产生比较整齐的输出
多层索引访问
对于如下字典
d = {“a”: list(range(1, 11)),
“b”: list(range(11, 21)),
“c”: list(range(21, 31))}
怎样访问key=b的列表的第3个元素,输出如下数字
13
答案
d = {“a”: list(range(1, 11)),
“b”: list(range(11, 21)),
“c”: list(range(21, 31))}
print(d[“b”][2])
解释:
• 先访问d[“b”],是一个列表,11~21
• 对这个列表,用下标[2]得到第3个元素,即13
遍历字典
遍历如下字典
d = {“a”: list(range(1, 11)),
“b”: list(range(11, 21)),
“c”: list(range(21, 31))}
得到如下三行输出
a has value [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
b has value [11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
c has value [21, 22, 23, 24, 25, 26, 27, 28, 29, 30]
答案
d = {“a”: list(range(1, 11)),
“b”: list(range(11, 21)),
“c”: list(range(21, 31))}
for key, value in d.items():
print(key, “has value”, value)
解释:
• d.items()可以遍历字典的每一对key和value