Skip to main content
 首页 » 编程设计

python之如何在 Python 中制作包含多个变量的单行列表

2025年05月04日25yxwkf

我感兴趣的是我是否可以在一行中定义 ascii_combinations 列表而不使用我在以下示例中使用的循环...

ascii_printable = [chr(count) for count in range(32, 127)] 
ascii_combinations = [] 
 
for x1 in ascii_printable: 
    for x2 in ascii_printable: 
        for x3 in ascii_printable: 
            ascii_combinations.append(x1 + x2 + x3) 

我想使用 95 个单字符 ASCII 字符创建一个包含所有可能的 3 个字符长组合的列表。我使用这段代码让它工作,但当我设法将 ascii_printable 缩短为 One-Liner 时,我很想知道我是否可以对另一个列表做同样的事情。

请您参考如下方法:

由于您想要创建笛卡尔积,标准方法是使用 itertools.product。

import itertools 
 
ascii_printable = [chr(count) for count in range(32, 127)] 
ascii_combinations = [x1+x2+x3 for x1, x2, x3 in itertools.product(ascii_printable, repeat=3)]