python - 列表中最后一次出现的不是字符串的项目 - Python

标签 python list indexing ironpython

我有数字列表的列表,例如

[[0,0,0,0,0], [1,1,0,0,0], [1,0,0,0,0], [0,0,0,0,0], [1,1,1,1,0]]

我想找到每个列表中最后一个 1 的索引。最左边的数字是索引 0。

列表中的项目不是字符串,因此我无法使用“.rindex”函数。

感谢您的帮助。

最佳答案

您可以使用enumerate来获取1的每个索引并提取最后一个元素。

[[idx for idx,v in enumerate(i) if v==1][-1] if 1 in i else -1 for i in lst]
# [-1, 1, 0, -1, 3]

或者使用str.rfind,当找不到元素时它不会引发错误,它会返回-1

 [''.join(map(str,i)).rfind('1') for i in lst]
# [-1, 1, 0, -1, 3]

关于python - 列表中最后一次出现的不是字符串的项目 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61933470/

相关文章:

python - 如何在python中连接多个数组

python - psycopg2.OperationalError 错误

java - 如何删除写入文件的对象?

c# - 填充 ListBox 时从每个列表项中删除前 12 个字符

mysql - Distinct(count(ColumnName)) 上是否需要索引,而 where 子句上有索引?

elasticsearch - Elasticsearch 每个用户对文档的访问控制

Python 3.8 shared_memory resource_tracker 在应用程序关闭时产生意外警告

python - Airflow 传感器任务仅等待一段时间

Python 循环遍历字典列表以查找属性

MySQL 没有在带有 GROUP BY 查询的 SUM 中使用索引