我才刚刚开始学习Python 3,并且在从文件创建字符串列表时遇到了麻烦。相反,它似乎正在列出列表。文本文件的每一行都是一个元素,是列表。每个单词都是第一个列表中列表的元素。
我已经尝试过Google搜索来从文件创建列表,并且已经阅读了几本关于Python的书。我也看过Udemy的视频。
fname = input('Enter file name: ')
try:
fh = open(fname)
except:
print('File not found')
quit()
list1 = list()
for item in fh:
list1.append(item.rstrip().split())
print(list1)
实际结果:
[["I'm", 'using', 'this', 'file', 'as', 'an', 'example'], ['of', 'pulling',
'a', 'list', 'of', 'strings', 'from', 'a', 'file'], ['Rather', 'than', 'making',
'each', 'word', 'an', 'element'], ["it's", 'making', 'each', 'line', 'an', 'element']]
预期结果:
["I'm", 'using', 'this', 'file', 'as', 'an', 'example','of', 'pulling', 'a',
'list', 'of', 'strings', 'from', 'a', 'file', 'Rather', 'than', 'making', 'each',
'word', 'an', 'element', "it's", 'making', 'each', 'line', 'an', 'element']
答案 0 :(得分:0)
改为使用此:
list1.append(' '.join(item.rstrip().split()))
当在字符串上使用split()方法时,它将产生一个列表,因此这就是您偏离轨道的地方,您创建了一个列表,然后将其附加到另一个列表中,这就是为什么将列表包含在列表中的原因。
str.join()
方法将使用您提供的str
连接列表元素