列表推导式如何与传统列表定义结合

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

我正在尝试使用前 n 个值的列表理解来创建一个列表,然后手动附加一系列字母。

我的代码

lst = [[x for x in range(n)], "a", "q", "l", "b", "s"]

我希望输出是

[1, 2, 3, 4, 5, ... 16, a, q, l, b, s]

但是我得到的输出是

[[1, 2, 3... 16], a, q, l, b, s]
python python-3.x list list-comprehension
1个回答
-1
投票

您可以通过不同的方式实现这一目标

  1. 复杂的逻辑

lst = [i if i <= 16 else chr(96 + (i-16)) for i in range(1, 22)]

输出:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 'a', 'b', 'c', 'd', 'e']
  1. 拆包列表元素

lst = [ *[x for x in range(1, 16)], 'a', 'b', 'c', 'd', 'e']

输出:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 'a', 'b', 'c', 'd', 'e']
© www.soinside.com 2019 - 2024. All rights reserved.