在python中迭代列表时连续更改多个值

时间:2018-01-26 17:09:12

标签: python python-3.x list row

我需要为列表中的多行更改一行中的多个值。 我想出了这个,但它没有用。

文件是一个列表列表。

new_file = []
value_1 = 'title'
value_2 = '1'
value_3 = '1'

for row in file:
    new_file.append(row[:5] + value_1 + value_2 + value_3)

2 个答案:

答案 0 :(得分:1)

如果row是一个列表,那么您就不能使用+运算符将字符串元素追加到它的末尾。您需要将三个字符串分组到一个列表中,以将它们添加到row的末尾。试试这个:

for row in file:
    new_file.append(row[:5] + [value_1, value_2, value_3])

答案 1 :(得分:0)

看起来您正在处理2D列表并将其称为' new_file'。如果您是第一次在new_file中创建值,那么这将起作用:

value_1 = 'title'
value_2 = '1'
value_3 = '1'

new_file =[[value_1, value_2, value_3] for i in range(5)]

print(new_file)