[英]skip items while iterating over list
我一直在从一个 txt 文件中读取 class 个对象并将信息存储在一个列表中。 我的问题是如果我想打印出第一个属性但跳过一行是否可能。 假设文本文件是这样的:
Activity Time Location
Football 8-9 Pitch
Basketball 9-10 Gym
Lunch 11-12 Home
Reading 13-14 Library
我想做一个 for 循环,给我列表的第一个属性,但跳过一行。 例如写:
for i in list:
print(i.activity)
#gives me all the activities, But I want to get Football, lunch, 阅读没有篮球
这可能吗? 如果是这样,我将不胜感激一个简单的代码。 我不需要任何高级的东西
当然可以:
在你的循环中添加条件
i = 0
for item in list:
if i!=1:
print (item.activity)
i += 1
所以在第二次迭代中不会打印任何内容
下面的示例只是读取文本字符串 ( text_
),并使用list.pop()
function 删除第二个元素(在标题之后)。 在这种情况下,“篮球”行。
然后,另一个简单的列表理解创建包含每行第一个元素的activities
列表,并跳过 header 行。
示例代码:
text = [i.strip().split(',') for i in text_]
text.pop(2)
activities = [i[0] for i in text[1:]]
Output:
['Football', 'Lunch', 'Reading']
设置:
注意:功能不需要此块。 仅用于从字符串创建text_
列表。
import io
txt = """Activity,Time,Location
Football,8-9,Pitch
Basketball,9-10,Gym
Lunch,11-12,Home
Reading,13-14,Library
"""
with io.StringIO(txt) as h:
text_ = list(h)
是的,但是你应该命名你的 python 列表而不是list
,因为list
是 python 中的关键字:
row_to_skip=1
for i in range (len (my_list)):
item=my_list[i]
if (i==row_to_skip):
continue
print(item.activity)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.