鱼C论坛

 找回密码
 立即注册
查看: 1260|回复: 4

[已解决]如何找出列表中所有指定元素的位置?

[复制链接]
发表于 2018-1-16 12:07:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
比如,下面这个我要获得atk的位置,如何返回所有atk位置的值呢?
  1. a = ['hp', 'clear', 'atk', 'atk']
复制代码


其中index()可以找到“第一个”要找元素的位置,但后面的就没有办法

有什么好的方法么?
最佳答案
2018-1-16 13:50:47
  1. a = ['hp', 'clear', 'atk', 'atk']
  2. b = [i for i, s in enumerate(a) if s == "atk"]
  3. print(b)
复制代码

这个时候 当然列表推导啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-1-16 12:15:31 | 显示全部楼层
写个简单的循环即可:
比如要找变量cell
  1. tar = []
  2. for each in lst:
  3.       if each == cell:
  4.            tar.append(lst.index(each))
复制代码

评分

参与人数 1荣誉 +2 鱼币 +2 贡献 +1 收起 理由
shuofxz + 2 + 2 + 1 热爱鱼C^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-1-16 13:50:47 | 显示全部楼层    本楼为最佳答案   
  1. a = ['hp', 'clear', 'atk', 'atk']
  2. b = [i for i, s in enumerate(a) if s == "atk"]
  3. print(b)
复制代码

这个时候 当然列表推导啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-16 14:59:19 | 显示全部楼层
sky 发表于 2018-1-16 13:50
这个时候 当然列表推导啦

感谢~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-16 15:02:37 | 显示全部楼层
BngThea 发表于 2018-1-16 12:15
写个简单的循环即可:
比如要找变量cell

感谢回答~
不过3#回答更简洁
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-20 03:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表