python - 如何在 python 中将一个列表中的项目与另一个列表进行匹配?

标签 python list

我有一个名为 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

最佳答案

您可能使用了错误的数据结构。您希望将 users2codes 组合成一个字典。

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/

相关文章:

python - 在python中循环包含数组的链表

python - Pygame 在添加代码移动玩家时出现黑屏和错误

python - PyQt lineEdit on textEdited 信号值在函数调用后丢失

python - 在 Python 中提取列表中 N 维数组的元素

html - 将子子菜单对齐到父菜单的顶部

c# - 使用索引将成员添加到 C# List

python - 辅助函数代码python

python - 在给定两个列表的情况下查找前 K 个产品的有效方法

r - 在 R 中的循环中构建列表 - 获取正确的项目名称

python - 检查列表中的每个元素是否与 Python 中的字符串匹配?