Как объединить списки в Python? - PullRequest
2 голосов
/ 14 января 2010

Я пытаюсь вставить строку в список.

Я получил эту ошибку:

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

потому что я попробовал это:

var1 = 'ThisIsAString' # My string I want to insert in the following list
file_content = open('myfile.txt').readlines()
new_line_insert = file_content[:10] + list(var1) + rss_xml[11:]
open('myfile.txt', 'w').writelines(new_line_insert)

Содержимое файла myfile.txt сохраняется в файле "file_content" в виде списка. Я хочу вставить String var1 после 10-й строки, поэтому я сделал

file_content[:10] + list(var1) + rss_xml[11:]

но список (var1) не работает. Как я могу заставить этот код работать? Спасибо!

Ответы [ 4 ]

9 голосов
/ 14 января 2010

1001 * попробовать *

file_content[:10] + [var1] + rss_xml[11:]
3 голосов
/ 14 января 2010

В списках есть метод вставки, так что вы можете просто использовать его:

file_content.insert(10, var1)
2 голосов
/ 14 января 2010

Важно отметить, что «list (var1)» пытается преобразовать var1 в список. Поскольку var1 является строкой, она будет выглядеть примерно так:

>>> list('this')
['t', 'h', 'i', 's']

Или, другими словами, он преобразует строку в список символов. Это отличается от создания списка, в котором var1 является элементом, что проще всего сделать, поместив «[]» вокруг элемента:

>>> ['this']
['this']
1 голос
/ 14 января 2010
file_content = file_content[:10]
file_content.append(var1)
file_content.extend(rss_xml[11:])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...