我列了一个清单:[[1, 2, 3], [4, 5, 6]]
我想使用列表解析将其更改为[[1, None, 3], [4, None, 6]]
。
我试过:
print(list(x[1] = None for x in [[1, 2, 3], [4, 5, 6]]))
这将抛出错误SyntaxError: expression cannot contain assignment, perhaps you meant "=="
。
我也试过:
print(list(x1 for x in [[1, 2, 3], [4, 5, 6]] for x1 in x))
但这只给出了[1, 2, 3, 4, 5, 6]
。
我已经想了1个小时了,有人知道如何将我的代码输出更改为[[1, None, 3], [4, None, 6]]
吗?
5条答案
按热度按时间2j4z5cfb1#
问题中显示的数据是由2个子列表组成的列表,每个子列表包含3个要素。
让我们假设每个子列表中的第二个值应该被替换为None,并且子列表的长度可能会有所不同。
现在我们将数据更改为:
...则相同的列表解析将生成:
如果任何子列表包含的元素少于2个,则此操作将失败
myzjeezk2#
在代码中应该是:
这当然会创建一个新列表
x6h2sr283#
6ljaweal4#
如果要就地更改原始列表:
ego6inou5#
如果要使用嵌套列表解析结构