【发布时间】:2019-10-14 04:37:38
【问题描述】:
我想匹配两个列表,其中一个列表较小,而另一个列表较大。如果两个列表之间发生匹配,则将匹配的元素放入新列表中相同索引处,而不是将其放入另一个索引。您可以从下面给出的代码中理解我的问题:
list1=['AF','KN','JN','NJ']
list2=['KNJ','NJK','JNJ','INS','AFG']
matchlist = []
smaller_list_len = min(len(list1),len(list2))
for ind in range(smaller_list_len):
elem2 = list1[ind]
elem1 = list2[ind][0:2]
if elem1 in list2:
matchlist.append(list1[ind])
获得的输出
>>> matchlist
['KNJ', 'NJK', 'JNJ']
期望的输出
>>> matchlist
['AFG', 'KNJ', 'JNJ', 'NJK']
有没有办法得到想要的输出?
【问题讨论】:
-
长度较短的列表是否总是有 2 个字符串而较长的列表总是有 3 个字符串? list1 是否总是较小的列表?
-
是的,它可以有两个字符串,第二个列表是三个字符串
-
在下面查看我的答案
标签: python-3.x list loops