attendance = {5: ['Irving', 'Sarah'],
1: ['Bill'],
2: ['Sarah', 'Fred'],
7: ['Paul', 'Alice', 'Irving'],
8: ['Bill', 'Fred', 'Sarah'],
3: ['Alice', 'Bob'],
4: ['David', 'Paul', 'Tom']}
for keys, values in attendance.items():
for x in values:
print(keys, " : ", len(x))
我正在尝试使用len()
计算字典中的值的数量,但我得到的值是错误的。
我是Python新手,你能用简单的语言解释一下吗?谢谢。
答案 0 :(得分:0)
dict.items()
上的迭代产生单个键的元组及其值。您似乎打印的是每个字符串的len
,而不是列表。你应该做这样的事情:
In [2]: attendance = {5: ['Irving', 'Sarah'],
...: 1: ['Bill'],
...: 2: ['Sarah', 'Fred'],
...: 7: ['Paul', 'Alice', 'Irving'],
...: 8: ['Bill', 'Fred', 'Sarah'],
...: 3: ['Alice', 'Bob'],
...: 4: ['David', 'Paul', 'Tom']}
...:
...: for key, value in attendance.items():
...: print(key, " : ", len(value))
1 : 1
2 : 2
3 : 2
4 : 3
5 : 2
7 : 3
8 : 3