python-3.x 如何将列表理解与传统的列表定义结合起来

nfzehxib  于 2023-04-08  发布在  Python
关注(0)|答案(1)|浏览(118)

我尝试创建一个列表,其中使用列表解析来创建前16个条目,然后手动添加其余条目,而不创建嵌套列表。
我的准则

lst = [[x for x in range(16)], "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]
eimct9ow

eimct9ow1#

您可以通过不同的方式实现这一点
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']

相关问题