我试图将元素扩展到 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/