Python中循环和条件语句的数据排序
data = ['cat', 'dog', 'None', 'Turtle', 'None']
new_data = []
for item in data:
if item == 'None':
new_data.append(data.index(item))
print new_data
>> [2,2]
我该怎么做才能把这个新数据存储成 [2,4]
这样的格式呢?这正是我想要的。谢谢!
4 个回答
1
试试这个:
In [1]: data = ['cat', 'dog', 'None', 'Turtle', 'None']
In [2]: [i for i,val in enumerate(data) if val == 'None']
Out[2]: [2, 4]
2
for idx, item in enumerate(data):
if item == 'None':
new_data.append(idx)
更好的是,直接使用列表推导式,就像Sven的回答那样。
6
在循环的时候,可以使用 enumerate()
这个函数。它可以同时记录当前项和它的位置(索引):
[index for index, x in enumerate(data) if x == "None"]