输出一个元素在列表中的所有位置


  
list.index(x, [start[, end]])

  1. 题目
  2. 错误解决方案
  3. 输出正确,但没依题目用list.index(x)
  4. 照搬答案
  5. 找到症结
  6. 用自己的代码完题


题目

在这里插入图片描述


回首页

代码

#/sur/bin/nve python
# coding: utf-8


#题目一
number = int(input('\n\n输入待查找数字:'))
n = int(input('\n\n输入列表大小(正整数):'))
#列表输入
print()
number_list = [int(input('$>>')) for i in range(int(n))]
#查找数字
temp = []
for i in number_list[:]:
    if i==number:
        temp.append(number_list.index(i))
print()
print('﹊'*21)
s = f'''
    数字列表:
    {number_list}
    
    “{number}”所在位置:{temp}
'''
print(s)

运行效果

在这里插入图片描述

  😭😭没有出正确的结果!!!每次都输出了第一次出现的位置。
  🧐🧐因为list.index()本就如此。

在这里插入图片描述


回首页

  得,只有另寻他法了……
  修改查找代码,完成了题目输出,但却没有按题目要求用list.index(x)查找。🥴🥴
for i in range(len(number_list)):
    if number_list[i]==number:
        temp.append(i)

在这里插入图片描述

在这里插入图片描述


回首页

  看原题答案……

在这里插入图片描述

  看不懂x = list1.index(check, start)这一行。😂😂只能再想想了……

  想破头,不解。只有照抄代码一途🧐
#查找数字
#照搬题目答案代码
temp = []
start = 0
while True:
    try:
        x = number_list.index(number, start)
        temp.append(x)
        start = x+1
    except:
        break
  输出正确!

在这里插入图片描述


回首页

  我不甘心,继续找……🧐🧐
  终于找到!😁😁
  其实list.index(x, [start[, end]])才是list.index()完整的用法。

在这里插入图片描述

该完整用法来源:Python List index()函数

回首页

  速度!改我的代码去……😊😊

修改后的查找代码

temp = []
start = 0
for i in number_list[:]:
    if i==number:
        temp.append(x := number_list.index(number, start))
        #使用海象运算符 := 给x赋值,代码只能run于python 3.9x
        #注意:start和end不可同时存在,都在,跟没有end等价
        start = x+1

运行效果

在这里插入图片描述

  用for也可以。😊😊
但要注意——

  start和end不可同时存在。都在,跟没有end等价。


回首页

上一篇:CSDN2021-11-23“每日一练”
下一篇:复习:python中的字符串格式化


老齐漫画头像

精品文章:

来源:老齐教室


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦幻精灵_cq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值