2015-11-28 3 views
0
# 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 не работает, воспитывает ошибку:мне нужно добавить значения к существующему списку списков (Python)

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

ответ

0

песни0 определяется как кортеж (Запятые между списками определяют его так)

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]] 
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]] 

вместо этого.

0

На вашу проблему ответили yuhe ... Но вот короткое предложение для вас. Если вы хотите добавить любой элемент в список, используйте функцию добавления.

list.append(value)

Смежные вопросы