我有一个名为 users2 的列表,它是用户的主列表。我有另一个名为 codes 的列表,其中包含 users2 中每个用户的代码。关联用户的代码顺序与 users2 中的顺序相同。例如,bil 的代码是 56,因为它是 users2 中的第二项和代码中的第二项。
我还有另一个名为 users1 的列表,其中包含一些来自 users2 的姓名。我想根据用户 2 中相同用户的代码输出用户 1 的关联代码列表。因此,如果 user1 中的第一项是 bil,我希望我的输出列表中的第一项是 56。如果 users1 的用户名不在 users2 中,则输出代码列表中的索引应为空白或“”。我在 python 中需要这个。
这是我的:
users1=['bil','kim','john''tim']
users2['jim','bil','kim','tim''mike']
codes=['12''56','10','34','67']
for i in range(len(users2)):
for j in range(len (users1)):
if users2[i] == users1[j]:
ordered.append(zipcodes[j])
print ordered
最佳答案
您可能使用了错误的数据结构。您希望将 users2
和 codes
组合成一个字典。
users1=['bil','kim','john','tim']
users2 = ['jim','bil','kim','tim','mike']
codes=['12','56','10','34','67']
users2_codes = dict(zip(users2, codes))
users1_codes = [users2_codes[user] if user in users2_codes else '' for user in users1 ]
print(users1_codes)
#>>> ['56', '10', '', '34']
关于python - 如何在 python 中将一个列表中的项目与另一个列表进行匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38294325/