for循环和while循环-我

时间:2019-09-13 06:27:30

标签: python-3.x for-loop while-loop

我正在尝试从数千个文本文件中提取一些数据。我从文件中提取特定信息时遇到问题。 也就是说,如果我有列表,

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

2 个答案:

答案 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]