gpt4 book ai didi

python - 比较两个长度不同的列表,查找匹配项并将匹配项附加到第一个列表中的值

转载 作者:行者123 更新时间:2023-11-30 23:14:53 26 4
gpt4 key购买 nike

考虑这两个列表具有以下值。

列表一(有几百个值):

['m99076', 'm10141', 'o87909', 'o90876', 'l17237']

列表二(有几千个值):

['1', 'foo', '1', 'm10141', 's300']
['2', 'bar', '1', 'u39392', 'n623']
['3', 'fubar', '1', 'o87909', 'z039']

现在我必须检查这两个数组并查看某些索引是否匹配。确切地说,我想确定是否 list_one[i] == list_two[i][3]。发现匹配后,我想将 list_one 中的值与 list_two[i][3] 联系起来。因此,到另一个列表的所需输出将是(因为这两个值匹配,而剩下的值不匹配):

[['foo', 'm10141'], ['fubar', 'o87090']]

学习编程有一段时间了,但现在我正在为此苦苦挣扎。我知道如果我想要要逐行比较值,我会这样做:

for i in range(len(...)):
if list_one[i] == list_two[i][3]:
values_list.append([list_one[i], list_two[i][3]])

但这不适用于我的情况,因为这些值可能在任何地方匹配。

感谢您的帮助!

最佳答案

您可以尝试以下方法,

>>> l1 = ['m99076', 'm10141', 'o87909', 'o90876', 'l17237']
>>> l2 = [['1', 'foo', '1', 'm10141', 's300'],
['2', 'bar', '1', 'u39392', 'n623'],
['3', 'fubar', '1', 'o87909', 'z039']]
>>> l3 = []
>>> for i in l1:
for j in l2:
if i == j[3]:
l3.append([j[1],i])


>>> l3
[['foo', 'm10141'], ['fubar', 'o87909']]

关于python - 比较两个长度不同的列表,查找匹配项并将匹配项附加到第一个列表中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28533759/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com