是否可以使用列表理解来根据字符的出现情况在嵌套列表中组合两个元素,例如:如果你遇到'+‘与下一个元素组合?我有一些使用嵌套循环的代码,但试图使用列表理解来实现。
输入:l = [['A-2', 'A-3', 'A-4', '+', '100', 'A-5'],['B-2', 'B-3', 'B-4', '+', '500', 'B-5']]
输出:l = [['A-2', 'A-3', 'A-4', '+100', 'A-5'],['B-2', 'B-3', 'B-4', '+500', 'B-5']]
代码:
for nested in l:
z = iter(nested)
for i in z:
if i == '+':
i = i+next(z)发布于 2020-10-29 00:29:01
下面的方法将会起作用:
[[x + next(i) if x == "+" else x for x in i] for i in map(iter, l)]
# [['A-2', 'A-3', 'A-4', '+100', 'A-5'], ['B-2', 'B-3', 'B-4', '+500', 'B-5']]如果最后一个元素可能是"+",您可以向next传递一个默认值
next(i, "")以避免错误。
https://stackoverflow.com/questions/64577091
复制相似问题