【发布时间】:2019-04-12 09:16:16
【问题描述】:
我有以下列表。
If last sublist has len>1:
x = [[0], [1, 2, 3], [4, 5], [6], [7, 8, 9], [10, 11, 12, 13], [15], [16, 17, 18]]
expected_output = [[0, 1, 2, 3], [4, 5], [6, 7, 8, 9], [10, 11, 12, 13], [15, 16, 17, 18]]
If last sublist has len==1:
x = [[0], [1, 2, 3], [4, 5], [6], [7, 8, 9], [10, 11, 12, 13], [15], [16, 17, 18], [19]]
expected_output = [[0, 1, 2, 3], [4, 5], [6, 7, 8, 9], [10, 11, 12, 13], [15, 16, 17, 18], [19]]
我正在尝试将长度为 1 的子列表与下一个子列表合并。
如果最后一个子列表长度为 1,我想保持原样。
我尝试编写以下代码。
xt = []
for i in range(len(x)-1):
if len(x[i]) == 1:
xt.append(x[i]+x[i+1])
# del x[i+1]
if len(x[i])>1:
xt.append(x[i])
print(xt)
【问题讨论】:
-
但在这两种情况下,长度为 1 的子列表都会与下一个子列表合并。这个假设正确吗?
-
是的。仅当最后一个子列表的长度为 1 时,我才想保持原样。
标签: python arrays python-3.x list