python - python:在子列表中定位元素
问题描述
给定这些子列表
lst=[['a', 'b', 'c', 'd', 'e'], ['f', 'g', 'h']]
我正在尝试查找其元素的位置,例如,字母“a”位于 0,0 但这一行
print(lst.index('a'))
而是产生以下错误: ValueError: 'a' is not in list
解决方案
如果你list
有depth=2
,你可以使用这个:
lst=[['a', 'b', 'c', 'd', 'e'], ['f', 'g', 'h']]
def fnd_idx(char, lst):
for x in range(len(lst)):
try:
idx = lst[x].index(char)
return [x,idx]
except ValueError:
pass
return None
输出:
>>> print(fnd_idx('a', lst))
[0, 0]
>>> print(fnd_idx('g', lst))
[1, 1]
>>> print(fnd_idx('z', lst))
None
推荐阅读
- python - 制作新 DataFrame 时 Pandas 中的倾斜 DataFrame
- terraform - terraform 文件中本地人的参考地图
- javascript - Javascript如何在单击按钮时跟踪事件
- xamarin.forms - 在 ios 中杀死应用程序实际上不会从操作系统中杀死
- asp.net - 添加到 JSON 对象的 ASP.NET (VB) 数组/列表项正在复制
- sql - SQL Server 查询不在另一个表中的位置
- ruby-on-rails - ajax 在 Rails 5 中不起作用
- java - 在 Java 中使用线程时获得两个打开的会话
- c# - 为什么 Mono 运行简单方法的速度较慢,而 RyuJIT 运行速度明显更快?
- aem - AEM 6 工作流程清除何时运行?