Array.extend(string) 添加每个字符而不仅仅是字符串

Array.extend(string) adds every character instead of just the string

我正在尝试将元素扩展到 Python 中的列表,但是,它没有扩展索引 'i' 中的字符串,而是扩展了索引 [=23] 中字符串的每个字符=].

例如,我有一个名为 'strings' 的列表,其中只有一个字符串 'string1' 和一个名为 'final_list'.

的空列表

我想将 'strings' 的第一个元素扩展到 'final_list',所以我 final_list.extend(strings[0])。但不是 'final_list' 以长度 1 结尾,对应于插入的字符串,列表以长度 7 结尾。

如果有帮助,这是我的代码:

con = connect()
    i = 0
    new_files = []
    while i < len(files):
        info_file = obter_info(con, files[i])
        if info_file [5] == 0: #file not processed
            new_files.append(files[i])
        i += 1

有谁知道我怎样才能让它工作?

试试那个:

final_list.extend([strings[0]])

或:

final_list.append(strings[0])

extend 方法将一个可迭代对象作为参数,解压该可迭代对象并将每个元素单独添加到调用它的列表中。在你的例子中,你是 "extending" 一个带有字符串的列表。字符串是可迭代的。因此,字符串是 "unpacked" 并且每个字符都是单独添加的:

>>> d = []
>>> d.extend('hello')
>>> print(d)
['h', 'e', 'l', 'l', 'o']

如果您只想将一个列表的一个元素添加到另一个列表,请使用 append。否则,将字符串包围在列表中并重复 extend:

>>> d = []
>>> d.extend(['hello'])
>>> print(d)
['hello']