我正在尝试从数千个文本文件中提取一些数据。我从文件中提取特定信息时遇到问题。 也就是说,如果我有列表,
list = [经理,A,B,C,分析师,F,G,H,操作员,7、8]
,并希望有两个列表: m_list = [A,B,C] a_list = [F,G,H]
有人可以告诉我我的问题在哪里吗?谢谢。
我尝试了以下代码,但是我陷入了第一个while循环,无限循环。
ff = [1,2,3,4,5, 6, 7,8]
mm = []
aa = []
for i in ff :
while i == 1:
print(i)
mm.append(i)
while i == 4:
break
while i == 4:
aa.append(i)
while i == 7:
break
答案 0 :(得分:0)
根据您的提问,并希望将ff = [1,2,3,4,5, 6, 7,8]
的输出转换为list1 = [2,3] list = 2[5,6]
两个列表,据我了解,您希望跳过从第1个开始的每第3个项目。如果是这样,则可以使用step=3
遍历原始列表的长度。
ff = [1,2,3,4,5, 6, 7,8]
output = []
for i in range(1, len(ff), 3):
output.append(ff[i:i+2])
这里您的输出列表将包含根据您的要求的所有列表
>>> output
[[2, 3], [5, 6], [8]]
答案 1 :(得分:0)
您不应使用“同时添加”循环来解决此问题。改为查看列表“切片”或“列表理解”。例如:
start = ff.index(1)+1
end = ff.index(4)
ff[start:end]
(这将与您包含字符串的列表一起使用)
或列表理解:
>>> [ i for i in ff if 1<i<4 ]
[2, 3]
>>> [ i for i in ff if 4<i<7 ]
[5, 6]