我有一个字典示例:
dictionary = {Bay1: [False,False,True],
Bay2: [True,True,True],
Bay3: [True,True,False],
Bay4: [False,False,False] }
我要做的是通过检查每个托架(Bay1,Bay2 ...)来查看字典,看看哪个托架中的所有内容都是False
。对于该示例,我希望它返回'Bay4'
。
其次,我希望能够通过使用循环检查每个托架中哪个False
以及哪个True
。换句话说,您可以想象True
表示被“预订”而False
表示自由或“未预订”。我希望能够检查每个托架,并以良好且易于阅读的格式将其呈现给用户。
答案 0 :(得分:0)
您应该提供更多信息。
无论如何,如果我理解了您的问题,您可以在any()
循环中使用all()
和for
:
# print all Bay with all False:
for key, value in mydict:
if not any(value):
print key
# print all Bay with at least 1 False:
for key, value in mydict:
if not all(value):
print key
答案 1 :(得分:0)
首先 部分
返回具有全部>>> d = {'Bay1': [False,False,True],
'Bay2': [True,True,True],
'Bay3': [True,True,False],
'Bay4': [False,False,False]}
>>> ' '.join([k for k, v in d.items() if any(v) is False])
Bay4
的值的键:
True
第二 部分
为每个False
计算bay
(已预订)和>>> d = {'Bay1': [False,False,True],
'Bay2': [True,True,True],
'Bay3': [True,True,False],
'Bay4': [False,False,False]}
>>> '\n'.join(['{}: {} booked and {} not booked'.format(k, v.count(True), v.count(False)) for k, v in d.items()])
Bay1: 1 booked and 2 not booked
Bay2: 3 booked and 0 not booked
Bay3: 2 booked and 1 not booked
Bay4: 0 booked and 3 not booked
(未预订)的数量:
var lineNumber = inboundShipmentUpdate.findSublistLineWithValue({
sublistId: 'items',
fieldId: 'itemid',
value: itemID.toString()
});