【发布时间】:2021-02-11 01:39:32
【问题描述】:
是否可以使用列表推导根据字符的出现来组合嵌套列表中的 2 个元素,例如:如果遇到 '+' 与下一个元素组合?我有一些使用嵌套循环执行此操作的代码,但尝试使用列表理解来实现。
输入:
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)
【问题讨论】:
-
没有'+','100'变成'+100'
-
知道了。很抱歉。
-
SO post 用于嵌套列表理解
-
@will.cass.wrig 但远非重复。这更复杂,结合一些元素并保持原样。
-
@schwobaseggl 同意,只是想将其作为解决方案其他变体的参考。你的解决方案很好,这就是我赞成它的原因。
标签: python list loops list-comprehension nested-lists