Python列表理解:对于列表列表,将一个列表中的字符串粘贴到另一个列表中的字符串开头

问题描述 投票:0回答:3

我有两个列表,我想使用列表推导来创建列表列表。第一个列表有一些前缀,第二个列表有一些后缀。

prefixes = ['t1_', 't0_']
suffixes = ['price', 'sales']

列表理解应该返回

output = [['t1_price', 't1_sales'],
          ['t0_price', 't0_sales']]

我能用一对for循环来实现这个目的:

output = []
for prefix in prefixes:
    pairs = []
    for suffix in suffixes:
        pairs.append(prefix + suffix)
    output.append(pairs)

但我认为列表理解会提高代码的可读性。

我怎么能做到这一点?

python list-comprehension
3个回答
3
投票

您还可以使用列表理解来实现此目的

[[p+s for s in suffixes] for p in prefixes]
#[['t1_price', 't1_sales'], ['t0_price', 't0_sales']]

0
投票

使用不需要嵌套理解的生成器的替代方法

from itertools import product
[a+b for (a, b) in product(prefixes, suffixes)]

-1
投票

output = [[x + y表示前缀中的x],后缀为y] print(输出)

© www.soinside.com 2019 - 2024. All rights reserved.