如何在python

时间:2017-08-13 06:54:00

标签: python list relation sublist

具体问题是这样的:

我有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的新手,所以我不知道它是否可行,或者有人可以给我一些建议或想法,提前谢谢!

4 个答案:

答案 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])