具有三个列表变量(所有不同的大小)和一个列表理解:
indexesA=[1,2,3,4,5]
indexesB=['a','b','c','d']
values=['Dog','Cat','Sheep','Donkey','Horse']
keys=[2,3,'d']
print [values[indexesA.index(key)] for key in keys if key in indexesA and indexesA.index(key)<len(values)]
我需要一本字典:
{2: 'Cat', 3: 'Sheep', 'd': 'Donkey'}
如果indexesA
列表的值中有key
,则应首先检查该列表。如果没有,则选中indexesB
。
如何做到这一点?你知道吗
请注意,我在问题中发布的列表理解只是检查indexesA
键。代码不完整。你知道吗
print [values[indexesA.index(key)] for key in keys if key in indexesA and indexesA.index(key)<len(values)]
这是一种使用
list-comprehensions
的方法免责声明:此代码既不可读,也不可维护或扩展。你知道吗
相关问题 更多 >
编程相关推荐