比较项目列表和python中的字典

2024-06-16 09:42:12 发布

您现在位置:Python中文网/ 问答频道 /正文

my_dict = {'one': 1, 'two': 2, 'three': 3}
my_keys = ['three', 'one','ten','one']

solutions = []
for key,value in my_dict.items():
    found = False
    for i in my_keys:
        if i in key:
           solutions.append(value)
           found = True
           break
        if not found:
           solutions.append('Nan')

我得到这个输出:

['Nan', 1, 'Nan', 'Nan', 'Nan', 'Nan', 3]

但是预期的输出是:

Output: ['3', '1', 'Nan', '1']

如何获得预期的输出?你知道吗


Tags: keyinforifvaluemynankeys
2条回答

使用list comprehension^{}可以这样做:

代码:

solutions = [my_dict.get(k, 'Nan') for k in my_keys]

测试代码:

my_dict = {'one': 1, 'two': 2, 'three': 3}
my_keys = ['three', 'one', 'ten', 'one']

solutions = [my_dict.get(k, 'Nan') for k in my_keys]
print(solutions)

结果:

[3, 1, 'Nan', 1]

似乎您想生成与“我的密钥”列表相关的解决方案列表。你知道吗

试试这个:

my_dict = {'one': 1, 'two': 2, 'three': 3}
my_keys = ['three', 'one','ten','one']

solutions = []
for key in my_keys:
    if key in my_dict:
        solutions.append(my_dict[key])
    else:
        solutions.append('Nan')

print(solutions)

相关问题 更多 >