【问题标题】:in python, how I append the index of a certain string in a list to another list if there are duplicate entries in the first list?在python中,如果第一个列表中有重复的条目,我如何将列表中某个字符串的索引附加到另一个列表中?
【发布时间】:2017-10-08 09:58:06
【问题描述】:

假设我有一个列表 K 和一个列表 B。如果 K 中的条目满足我的条件 x,我想要列表 B 中该条目的索引。问题是因为第一个列表中有重复的条目,使用 k.index 只会给我该列表中第一次出现的索引。这是我所拥有的:

for i in k:

    if i = x:

        b.append(k.index(i))

【问题讨论】:

    标签: python list append


    【解决方案1】:

    这是一个简单的解决方案:

    for n, item in enumerate(k):
        if item == x:
            b.append(n)
    

    内置的 enumerate 函数返回从 0 开始的迭代的索引值,就像列表索引一样

    【讨论】:

    • 我是第一个 :) @cᴏʟᴅsᴘᴇᴇᴅ
    • 现在我看到了 UTC 时间戳,你是对的……你快了 1 秒。赞成;-)
    【解决方案2】:

    这可以使用built-in enumerate function 而不是list.index 来完成:

    返回一个枚举对象。 iterable 必须是序列、迭代器或其他支持迭代的对象。 enumerate() 返回的迭代器的__next__() 方法返回一个元组,其中包含一个计数(来自默认为0 的start)和通过迭代iterable 获得的值。

    for idx, i in enumerate(k):
        if i == x:
            b.append(idx)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-01
      • 2021-08-22
      • 1970-01-01
      • 2018-02-12
      • 2021-03-17
      • 1970-01-01
      • 1970-01-01
      • 2013-05-24
      相关资源
      最近更新 更多