鱼C论坛

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

[已解决]如何用index函数返回列表中某个重复出现的特定元素的位置啊?

[复制链接]
发表于 2019-11-16 22:25:18 | 显示全部楼层 |阅读模式

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

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

x
list1=[57,63, 17, 112, 56, 19, 8, 57, 90, 35, 108, 57, 32, 25],把列表中的特定元素57在列表中的位置,用index函数以另一个列表list2展示出来,这个语句要怎么写啊?
最佳答案
2019-11-16 22:40:17

list1=[57, 63, 17, 112, 56, 19, 8, 57, 90, 35, 108, 57, 32, 25]

# 一:
list2=[]
for index in range(len(list1)):
    if list1[index] == 57:
        list2.append(index)
print(list2)


# 二:
list2 = [index for index in range(len(list1)) if list1[index] == 57]
print(list2)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-11-16 22:40:17 | 显示全部楼层    本楼为最佳答案   

list1=[57, 63, 17, 112, 56, 19, 8, 57, 90, 35, 108, 57, 32, 25]

# 一:
list2=[]
for index in range(len(list1)):
    if list1[index] == 57:
        list2.append(index)
print(list2)


# 二:
list2 = [index for index in range(len(list1)) if list1[index] == 57]
print(list2)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-16 22:47:29 | 显示全部楼层
有 2 种方法:

  1. # 方法 1:
  2. list1 = [57, 63, 17, 112, 56, 19, 8, 57, 90, 35, 108, 57, 32, 25]
  3. list2 = [i for i, e in enumerate(list1) if e == 57]
  4. print(list2)

  5. # 方法 2:
  6. list1 = [57, 63, 17, 112, 56, 19, 8, 57, 90, 35, 108, 57, 32, 25]
  7. list2 = []
  8. for i in range(len(list1)):
  9.     if list1[i] == 57:
  10.         list2.append(i)
  11. print(list2)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-16 23:00:07 | 显示全部楼层

谢谢您的回答,我是初学者,第一种方法list2 = [i for i, e in enumerate(list1) if e == 57]这个语句能帮忙详细解读一下嘛?不太看的懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-18 09:51:17 | 显示全部楼层
不明觉厉啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 14:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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