gpt4 book ai didi

python - 如何获取字符串中两个或多个重复字符的索引?

转载 作者:太空宇宙 更新时间:2023-11-04 00:25:52 25 4
gpt4 key购买 nike

我想在列表中存储两个或多个重复字符的实际索引。为此我使用了 index() 但它返回所有重复字符的相同索引。此问题的任何其他解决方案。

最佳答案

让我们的列表和我们想要的元素定义如下:

my_list = [1, 3, 2, 4, 3, 3, 5, 3]
desired_element = 3

然后你可以使用一个很好的 Python 内置,enumerate() :

indexes = [index for index, element in enumerate(my_list) if element == desired_element]
print(indexes)

输出如预期的那样 [1, 4, 5, 7]


或者,以更好的格式:

def indexes(my_list, desired_element):
return [index for index, element in enumerate(my_list) if element == desired_element]

然后使用 indexes(list, element) 调用它。


如果您正在寻找效率(我怀疑您是):

def indexes2(my_list, desired_element):
for index, element in enumerate(my_list):
if element == desired_element:
yield index

对于大型列表(据我测试),这要快 4-5 倍。请注意,这会返回一个生成器,为了可视化结果,您必须使用 list(...) 将其转换为列表。

关于python - 如何获取字符串中两个或多个重复字符的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47486563/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com