for循环相同字符只输出第一个索引的解决办法

for循环相同字符只输出第一索引的问题

str5 = "aaaaaaaa"
for i in str5:
    if i.find("a")!=-1:
        print(str5.index(i))

运行结果:在这里插入图片描述
理想的运行结果应该是输出0 1 2 3 4 5 6 7
这个问题跟语言应该是没有直接问题的,与代码逻辑相关
但是在进行数据清洗的过程中,我们经常会以相同字符串作为分界来提取有用的数据,这时候如果写一个for循环就会遇到很多问题;

可以采取以下方式完善代码

加入列表 代码可以如下

j = 0
QA = []
while j<len(list_1):
    if list_1[j].find(str3)!=-1:
        print(j)
        QA.append(j)
    j = j + 1   
print(QA)
print(type(QA[0]))

输出结果:
在这里插入图片描述
在实际处理过程中,可以再加一个变量作为索引器,方便对相应位置的数据进行处理;
上面的方法可以在不改变原代码整体结构的情况下进行,只需要增加一个函数或一段代码即可,在要处理的代码块中,增加相应的字段即可处理。

以上是我个人学习过程中的总结和见解,可能不够严谨和标准,各位可以在评论区中提出更好的方法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值