python - 在键/值对列表中查找值

标签 python list

我有 2 个列表

old_name_list = [a-1234, a-1235, a-1236]
new_name_list = [(a-1235, a-5321), (a-1236, a-6321), (a-1234, a-4321), ... ]

我想递归搜索 old_name_list 中的元素是否存在于 new_name_list 中,并返回与之关联的值,例如。 old_name_list 中的第一个元素返回 a-4321,第二个元素返回 a-5321,依此类推,直到 old_name_list 结束。

下面的方法我都试过了,还是不行

for old_name, new_name in zip(old_name_list, new_name_list):
    if old_name in new_name[0]:
        print new_name[1]

是我做的方法不对还是需要做一些小的改动?提前谢谢你。

最佳答案

根据您的第二个列表构建一个 dict(),并在其中进行查找。

old_name_list = ["a-1234", "a-1235", "a-1236"]
new_name_list = [("a-1235", "a-5321"), ("a-1236", "a-6321"), ("a-1234", "a-4321") ]

d = dict(new_name_list)

for n in old_name_list:
    print d[n]

您确实需要在字符串周围加上引号,例如“a-1234”。

关于python - 在键/值对列表中查找值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10990548/

相关文章:

python - 将列表转换为字符串列表

python - 在 Python 中从字典生成间隔元组

python - 从 pandas 数据帧生成字典,其中多个列组合为键,其余列作为值?

python - Pandas :使用数据框的多列作为另一个的索引

python - 如何从新闻摘要中提取股票代码NUMBER?

Python 打印语句不带回车符打印任何内容

python - youtube数据API多个页面

python - Azure Functions for python、结构化日志记录到 Application Insights?

css - 居中菜单

list - Haskell:列表和折页