python - 将枚举用于“单行循环”
问题描述
我有一个类似的清单
my_id = 3
Word IDs: [None, 0, 1, 2, 3, 3, 3, 4, None]
我想列出上面列表中的所有索引,它们的对应值等于 my_id
我想写一个单行for循环。这是行不通的。有没有办法把它写成“单行for循环”?
我的方式:
list_of_word_ids = [i for enumerate(i,_id) in inputs if _id == id_word ]
在这种情况下,我想要的输出是
4、5、6
解决方案
enumerate
返回一个带有计数器的元组。您可以解压缩元组并检查秒值是否等于my_id
Word_IDs= [None, 0, 1, 2, 3, 3, 3, 4, None]
list_of_word_ids = [i for i,j in enumerate(Word_IDs) if j == my_id]
推荐阅读
- amazon-web-services - AWS S3:推荐嵌套存储桶架构
- c# - 无法使用实例和端口号连接到数据库
- sql-server - 如何在列中查找重复的单个单词(不是值)
- android - 在 date.gettime() 中获取负值
- angular6 - 如何在 Angular 6 的下拉列表中设置两种方式绑定数据?
- python - 为什么使用 numpy.nonzero 比循环遍历 numpy 数组要快得多?
- android - 如何使用 TextWatcher 在 EditText 上获取新输入的值
- node.js - 证书链中的自签名证书使用 watson 助手的 node.js SDK 时出错
- python - 无法访问模板中的 context_object_name
- google-sheets - 如何在谷歌表格查询中转义双引号和单引号?