如何用Python列表推导式生成交替递增配对的字符串序列
解决方案
你现有写法的问题是将循环变量i同时作为前缀判断条件和后缀数字,导致后缀和前缀同步变化,无法实现同一数字对应两个前缀的效果。以下是两种可行的一行列表推导式实现:
- 方案1(逻辑更清晰,可直接调整
range参数控制数字最大值)
L = [f'{char}{num}' for num in range(3) for char in ('x', 'y')]
- 方案2(保持你原本使用
range(6)的写法习惯)
L = [f'{"x" if i%2 == 0 else "y"}{i//2}' for i in range(6)]
两种方案运行后输出的L均为['x0', 'y0', 'x1', 'y1', 'x2', 'y2'],符合预期要求。
内容的提问来源于stack exchange,提问作者Unic0
相关产品推荐
相关产品推荐

