Python 按递增和枚举对文本列进行排序
使用python和StackOverflow还是有点新。我试着用一个包含单词列表的文本文件对其进行迭代,并按每个单词的第1、第2和第3个单词将其排序为3个不同的列表。我的问题是我不能让它运行不止一次。我想我的导师可能不正确Python 按递增和枚举对文本列进行排序,python,list,loops,text,Python,List,Loops,Text,使用python和StackOverflow还是有点新。我试着用一个包含单词列表的文本文件对其进行迭代,并按每个单词的第1、第2和第3个单词将其排序为3个不同的列表。我的问题是我不能让它运行不止一次。我想我的导师可能不正确 shakey2 = open('/path/to/file/shakey2.txt', 'r') col1 = [] col2 = [] col3 = [] inc = 0 ent1, ent2, ent3 = range(3) #0, 1, 2 for en, line
shakey2 = open('/path/to/file/shakey2.txt', 'r')
col1 = []
col2 = []
col3 = []
inc = 0
ent1, ent2, ent3 = range(3) #0, 1, 2
for en, line in enumerate(shakey2):
l = line.strip()
if ent1 + inc == en:
col1.append(l)
elif ent2 + inc == en:
col2.append(l)
elif ent3 + inc == en:
col3.append(l)
inc += 3
continue
shakey2.close()
print(col1, col2, col3)
下面是我正在使用的文本文件的一个片段:
artless
base-court
apple-john
bawdy
bat-fowling
baggage
beslubbering
beef-witted
barnacle
bootless
beetle-headed
bladder
churlish
boil-brained
boar-pig
cockered
clapper-clawed
bugbear
输出:
(['artless'], ['base-court'], ['apple-john'])
期望输出:
(['artless', 'bawdy', 'beslubbering'], ['base-court', 'bat-fowling', 'beef-witted'], ['apple-john', 'baggage', 'barnacle'])
使用mod,您可以轻松完成:
shakey2 = open('/path/to/file/shakey2.txt', 'r')
cols = [[] for _ in range(3)]
for en, line in enumerate(shakey2):
cols[en % 3].append(line.strip())
shakey2.close()
print(cols)
如果您想将此列表解压缩到初始的三个变量中:
col1, col2, col3 = cols
显示所需的输出你需要取mod,否则这些东西的总和将停止在0和3之间。你甚至不需要求和,我不认为。不管怎样,在
continue
谢谢后,您永远无法到达电话线。成功了。我正在学习如何使用枚举。列表实现列表也不是我考虑过的东西,你应该解释一下,让他明白它在做什么,让其他对python不熟悉的人也明白