首页 > 解决方案 > 列表理解中的多个索引

问题描述

我需要编写一个函数,该函数将返回具有偶数索引的字符串列表。我在寻找一种方法来检查列表理解中的索引时遇到问题,我尝试了 index() 但它给了我第一个实例的索引,并且列表不是由唯一字符组成的。

这是我到目前为止得到的:

def even_chars(st):
print(st)
if len(st) < 2 or len(st) > 100:
    return 'invalid string'
else:
    return [s for s in st if st.index(s) % 2 != 0]

我正在考虑在 index() 中放置另一个参数,因为它可以从给定的索引开始搜索,但是没有办法为每个 s 增加它。有什么提示吗?也许我缺少一些内置功能?

标签: python

解决方案


您可以为此使用 enumerate ,本质上是返回当前迭代的次数:

[s for i, s in enumerate(st) if i % 2 == 0]

推荐阅读