【发布时间】:2020-09-05 05:47:02
【问题描述】:
我有以下代码。当它单独运行时,我会得到final_list as
[[1, 10, 20], [2, 11, 21], [3, 10, 22], [1, 10, 23]]
但是如果我在另一个循环中运行,我会得到
[[1, 10, 20, 23], [2, 11, 21], [3, 10, 22], [1, 10, 20, 23]]
final_list= [[1, 10], [2, 11], [3, 10], [1, 10]]
list_present= [20, 21, 22, 23]
for val, val2 in zip(final_list, list_present):
val.append(val2)
这是完整的程序:
x = [[1, 2, 3], [10, 11],[20, 21, 22, 23]]
y = ['a', 'b', 'c']
final = []
list_present = []
list_previous = []
for row in x:
final_list = []
len_final = len(final)
if len_final == 0:
for attr_val in row:
final.append([attr_val])
else:
list_present = row
len_array = len(list_previous) - len(list_present)
if len_array > 0:
list_present.extend(list_present[:abs(len_array)])
final_list = list_present
for val1, val2 in zip(final, final_list):
val1.append(val2)
else:
list_previous.extend(list_previous[:abs(len_array)])
final_list = list_previous
for val1, val2 in zip(final_list, list_present):
val1.append(val2)
list_previous = final
【问题讨论】:
标签: python python-3.x for-loop append zip