Python for 循环和 if 语句对数据进行排序
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]
?这就是我想要的。谢谢你!
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]
How do I go about getting to this store new data as [2,4]
? This is what I want. Thank you!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
循环时使用
enumerate()
。这将跟踪当前项目及其索引:Use
enumerate()
while looping. This will track both, the current item and its index:更好的是,只需使用列表理解,如 Sven 的答案
better yet, just use a list comprehension as in Sven's answer
尝试:
Try:
data.index(item) 仅返回列表中该项目第一次出现的位置。
你可以简单地这样做:
这应该给你所需的输出
或
查看 Sven 的答案
data.index(item) only returns the position of first occurance of the item in your list.
You could simply do this:
this should give you the required output
OR
check out Sven's answer