在同一行python上打印字典值列表

2024-09-16 20:19:49 发布

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

我有一本字典,上面列出了以下值:

my_dict = {'key1': ['foo1','foo2'],
           'key2': ['bar1', 'bar2'],
           'key3': ['foobar1', 'foobar2'}

我想在字典中搜索多个键并将它们的值存储在列表中:

^{pr2}$

但当我这样做的时候,我会得到一个多维(双括号)的值列表。如果我将values.append(v)替换为print(v),我会在两个单独的行中得到值。我的问题是,如何在同一行打印来自两个独立键的值列表?在


Tags: 列表字典mydictkey2key1我会key3
2条回答

您的问题似乎源于这样一个事实:您将多个列表分别附加到values列表中。也就是说,你正在做的是:

values = []

values.append(['foo1','foo2'])  

# values = [ ['foo1','foo2'] ]

values.append(['foobar1', 'foobar2']) 

# values = [ ['foo1'...], ['foobar1'...] ]

为了使值成为字符串的单个列表,请使用values.extend(v)^{}方法连接列表,而append方法嵌套列表。在

^{pr2}$

在一行中打印嵌套列表的多种方法之一是理解:

print(*[i for sub in values for i in sub])

如果您不想让它嵌套在第一位,请将append替换为values.append(v)中的extend。在

list.extend获取一个列表(在本例中是v)并将其所有元素添加到另一个列表中。list.append只是将元素按原样添加到新列表中,从而得到您所看到的嵌套结构。在

相关问题 更多 >