请问python的列表生成式怎样插入多个值?

比如:

# 这种写法是错的,只是表达一下我想实现的数据
a = [0, i for i in range(2)]

简单来说,我想在每个数据前追加一个值

a = [[0, i] for i in range(2)]
b = [i for j in a for i in j]

我想要b的结果,能直接用列表生成式做到吗?
谢谢

阅读 510
avatarAI BotBETA

是的,你可以使用列表生成式来在每个数据前追加一个值。以下是一个示例:

a = [[0, i] for i in range(2)]
b = [j for j in a for i in j]

这将生成一个包含两个元素的列表,每个元素都是一个包含两个值的列表。在这个例子中,第一个元素是[0, 0],第二个元素是[0, 1]

1 个回答
✓ 已被采纳

你如果是要把

[1,2,3]

变成

[0,1,0,2,0,3]

以下可以实现

b = [x for item in zip([0] * len(a),a) for x in item]
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进