cc9542 2022-06-09 21:44 采纳率: 96.7%
浏览 35
已结题

Python 列表操作 寻找列表里面相同的元素并把所有相同元素的下标都打印出来

#Python 列表操作 寻找列表里面相同的元素并把所有相同元素的下标都打印出来
a = [1, 2, 3, 11, 2, 4, 5, 6, 11, 2, 1, 4, 11, 7, 8, 5, 9, 11]

b = ['a', 'kk', 'b', 'c', 'kk', 'd', 'e', 'f', 'kk', 'g']

c = [[1, 2, 3, ], [1, 1, 1, 1], [4, 5, 6, 7], [8, 9, 10, 11], [1, 1, 1, 1]]


for i in a:
    if i == 11:
        print(b.index(i))

我试着用index()函数来寻找下标,但是它只返回了该元素的第一个下标,怎么样才能返回全部的下标?

"""
比如 a 列表里面的 11元素
理想返回结果
11(3,8,12,17)

b 列表 的 'kk'
kk (1,4,8)

c列表的 [1, 1, 1, 1]

[1, 1, 1, 1] (1,4)
"""
  • 写回答

1条回答 默认 最新

  • 扫地的小何尚 优质创作者: 人工智能技术领域 2022-06-09 22:02
    关注

    这个没必要这么死板一定要用index吧, 就你的代码来说, 稍微更改下:

    same_index_list = []
    a = [1, 2, 3, 11, 2, 4, 5, 6, 11, 2, 1, 4, 11, 7, 8, 5, 9, 11]
    for i in range(len(a)):
        if a[i] == 11:
           same_index_list.append(i)
    

    这样可以么?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月17日
  • 已采纳回答 6月9日
  • 修改了问题 6月9日
  • 创建了问题 6月9日