具体问题是这样的:
我有two lists
,即:
lst1 = [1,2,5,6,7];
lst2 = [11,12,13,14,15];
我想构建这些列表的关系以匹配其他列表的相应编号,例如1-11,5-13,7-15...
,如果我输入[1,5,7]
,那么它会自动生成[11,13,15]
。我是python的新手,所以我不知道它是否可行,或者有人可以给我一些建议或想法,提前谢谢!
答案 0 :(得分:2)
你可以创建一个字典,第一个列表的元素作为键,第二个列表的元素作为值:
i
答案 1 :(得分:0)
如果是"关系"你的意思是一对一的映射,那么也许你应该看看dictionaries。如果您的列表(lst1 = [1,2,5,6,7]
lst2 = [11,12,13,14,15]
dct = dict((a, b) for a, b in zip(lst1, lst2))
# or even:
# dct = {a: b for a, b in zip(lst1, lst2)}
print(dct) # {1: 11, 2: 12, 5: 13, 6: 14, 7: 15}
print(dct[1], dct[5], dct[7]) # 11 13 15
,lst1
)始终具有相同的长度和映射顺序,您可能不需要字典映射,只需正确使用索引,以及{{3} }。
答案 2 :(得分:0)
首先 zip 两个列表然后使用列表压缩覆盖列表的输出,如果条件
12
<强>输出强>
>>> lst1 = [1,2,5,6,7]
>>> lst2 = [11,12,13,14,15]
>>> input_lst = [1,2,5]
>>> [d for c,d in zip(lst1,lst2) if c in input_lst] # first method Zip
>>> [lst2[lst1.index(v)] for v in (lst1) if v in input_lst] # second mehod using index
详细信息see
答案 3 :(得分:0)
dict(zip(lst1, lst2))
会好的。
container = dict(zip(lst1, lst2))
print(container[1], container[5], container[7])