use*_*770 4 python dictionary list
if not any(myList[0:5]):
Run Code Online (Sandbox Code Playgroud)
这也适用于字典而不是列表吗?我想检查我的字典的前五个键值对是否都具有值'False'.
Sim*_*got 10
如果您有要检查的键列表,请使用生成器表达式:
if not any(myDict[key] for key in myKeys):
Run Code Online (Sandbox Code Playgroud)
不,字典键没有订购.你不能说字典的"前五个键",意思是定义明确的东西.您可以获得密钥列表,在这种情况下,它们当然会在该列表中进行排序,但这并没有说明字典本身中的"顺序".
你可以做的是检查列表中的所有键,看看字典中的相应值是False
:
the_dict = { "k1": True, "k2": False, "k3": False, "k4": True, "k5": False, "k6": True }
check_keys = ["k1", "k2", "k3", "k4", "k5"]
found = 0
for k in check_keys:
if k in the_dict and not the_dict[k]:
found += 1
print "Found %u False values for the checked keys" % found
Run Code Online (Sandbox Code Playgroud)
请注意,仅仅因为初始化时字典文字中的键值对有一个顺序the_dict
,这并不意味着顺序以某种方式保留在字典本身中.
如果您的密钥是可排序的,您当然可以手动对它们进行排序,然后首先提取五个:
>>> print sorted(the_dict.keys()[:5]
['k1', 'k2', 'k3', 'k4', 'k5']
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11629 次 |
最近记录: |