2016-06-02 3 views
0

Я посмотрел на другие сообщения здесь для решения моей проблемы, но ни один из них, похоже, не работает для меня. Я хочу добавить кортеж (который начинается как) пустой список. Я проверил свой код, и, похоже, всякий раз, когда я пытаюсь просто добавить свой кортеж, он превращает список в объект NoneType. Вот что я получил:Python: Как добавить кортеж в пустой список?

list_of_pairs = [] 
for player in standings: 
    opponent = standings[standings.index(player) + 1] 
    matchup = (player[0:2] + opponent[0:2]) 
    list_of_pairs = list_of_pairs.append(matchup) 
    print "ADDED TO LIST: " + str(list_of_pairs) 

Каждый player в списке турнирной таблице содержит кортеж с четырьмя элементами. Я пробовал использовать индекс и переустанавливать list_of_pairs = [list_of_pairs, matchup], но, похоже, ничего не возвращает правильная вещь (то есть [(player),(next player), (another player), (etc.)]. Каждый раз, когда я печатаю «добавленный в список», я просто получаю ADDED TO LIST: None. Я также проверил matchup, и он определенно хранит первые два значения соответствующих игроков тонкодисперсных Любые идеи

+0

Возможный дубликат [Почему append не возвращает ничего в этом коде?] (Http://stackoverflow.com/questions/16641119/why-does-append-return-none-in-this-code) – SiHa

ответ

1

Это происходит потому, что добавление элемента к списку возвращает None, которые вы затем печать, когда вы делаете:.?

list_of_pairs = list_of_pairs.append(matchup) 
print "ADDED TO LIST: " + str(list_of_pairs) 

Например:

>>> a = [] 
>>> b = a.append('hello') 
>>> print a 
['hello'] 
>>> print b 
None 
+0

Да, это означает, что вы может перевести "list_of_pairs = list_of_pairs.append (matchup)" в "list_of_pairs.append (matchup)". затем повторите попытку. –

+0

Могу ли я обойти это, создав новую переменную (скажем, 'append_list') и вместо этого выполнив' appended_list = list_of_pairs.append (matchup) '? Значит ли это, что 'list_of_pairs' фактически будет содержать значения, необходимые, если' append_list' будет возвращать None? – Dave

+0

Забудьте выше! Кажется, я понял, что вы имеете в виду! Проблема в том, что я переписываю переменную себе, когда я добавляю ее правильно? Таким образом, решение - это просто 'list_of_pairs.append (matchup)' без 'list_of_pairs =' – Dave