我试图将元素扩展到 Python 中的列表,但是,它不是扩展索引“i”中的字符串,而是扩展索引“i”中字符串的每个字符。

例如,我有一个名为“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

有谁知道我怎样才能使它起作用?

最佳答案

extend 方法将一个可迭代对象作为参数,解压缩该可迭代对象并将每个元素单独添加到调用它的列表中。在您的情况下,您正在“扩展”一个带有字符串的列表。字符串是可迭代的。这样,字符串是“解压的”,并且每个字符分别添加:

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

如果您只想将列表的一个元素添加到另一个列表,请使用 append 。否则,将字符串括在列表中并重复扩展:
>>> d = []
>>> d.extend(['hello'])
>>> print(d)
['hello']

关于python - Array.extend(string) 添加每个字符而不仅仅是字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29947007/

10-11 22:48
查看更多