我需要为现有的列表列表添加值(Python)

时间:2015-11-28 10:40:31

标签: python list tuples add

# list of lists (STEP 1)
list0 = ["a", "b", "c"], [d, e, f], [g, h, i], [h, i, j]

# input for new values (STEP 2)
k = input("Enter new value: ")
l = input("Enter new value: ")
m = input("Enter new value: ")

# add these values to " list0 " (STEP 3)
list0 += [k, l, m]

STEP 3不起作用,出现错误:

TypeError: can only concatenate tuple (not "list") to tuple

3 个答案:

答案 0 :(得分:3)

你宣布了一个元组,而不是一个列表。

list0 = ["a", "b", "c"], [d, e, f], [g, h, i], [h, i, j]

等于

list0 = (["a", "b", "c"], [d, e, f], [g, h, i], [h, i, j])

元组是不可改变的。

所以,请使用

list0 = [["a", "b", "c"], [d, e, f], [g, h, i], [h, i, j]]

代替。

答案 1 :(得分:0)

list0被定义为一个元组(列表之间的逗号定义了它)

list0 = ["a", "b", "c"], [d, e, f], [g, h, i], [h, i, j]

选项只是声明一个嵌套列表,例如:

list0 = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i'], ['h', 'i', 'j']]

然后你就可以了,

k = input("Enter new value: ") # Entered 8
l = input("Enter new value: ") # Entered 9
m = input("Enter new value: ") # Entered 10

最后追加它:

list0.append([k,l,m])

print list0
o/p: [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i'], ['h', 'i', 'j'], [8, 9, 10]]

答案 2 :(得分:0)

你的问题由yuhe回答......但这里有一个简短的建议。如果你想在列表中添加任何元素,请使用append函数。

  

list.append(值)