python - 列表理解中的多个索引
问题描述
我需要编写一个函数,该函数将返回具有偶数索引的字符串列表。我在寻找一种方法来检查列表理解中的索引时遇到问题,我尝试了 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 增加它。有什么提示吗?也许我缺少一些内置功能?
解决方案
您可以为此使用 enumerate ,本质上是返回当前迭代的次数:
[s for i, s in enumerate(st) if i % 2 == 0]
推荐阅读
- google-analytics - 使用 gtag.js 在 Google Analytics 中设置用户角色
- android - 数据绑定类型不匹配
- python - SCAPY 使用 Xpath 表达式抓取 imdb 网站
- wordpress - 添加到现有的元机器人标签
- javascript - 在php页面中检索json格式的ajax请求
- azure-devops - Azure DevOps Release Pipeline - 在特定的先前任务失败时运行任务
- python - 根据索引和列值重新排列数据框
- html - 如何使popover div / element / section出现在所有元素/ div / section的顶部
- correlation - 四个变量之间的相关性
- python - 崩溃后如何在不重新启动服务器的情况下自动重新启动 python Socket?