3 python function list python-3.x
我正在寻找一个接受两个参数的函数:a int和a list.
如果函数在列表中找到整数,则返回其坐标.
例如,如果不使用numpy,我将如何为以下列表中的数字4执行此操作?
l = [
[0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 2, 1, 1, 0, 1, 1, 1, 0],
[0, 1, 0, 1, 0, 0, 0, 1, 0],
[0, 1, 0, 1, 1, 1, 0, 1, 0],
[0, 1, 0, 0, 0, 1, 0, 1, 0],
[0, 1, 1, 1, 0, 1, 0, 1, 0],
[0, 0, 0, 1, 0, 1, 0, 1, 0],
[0, 1, 1, 1, 0, 1, 0, 1, 0],
[0, 1, 0, 0, 0, 0, 0, 1, 0],
[0, 1, 0, 1, 1, 1, 0, 1, 0],
[0, 1, 0, 1, 0, 1, 0, 1, 0],
[0, 1, 1, 1, 0, 1, 1, 4, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0]
]
Run Code Online (Sandbox Code Playgroud)
您可以假设目标始终只显示一次,并且始终包含在列表中.
目标将始终只显示一次,并始终包含在列表中
您可以使用enumerate枚举外部列表和内部列表的元素.
def coords(lst, find):
return next((i, j) for i, sub in enumerate(lst)
for j, x in enumerate(sub)
if x == find)
Run Code Online (Sandbox Code Playgroud)
用你的清单演示l:
>>> coords(l, 2)
>>> (1, 1)
>>> coords(l, 1)
>>> (1, 2)
Run Code Online (Sandbox Code Playgroud)
如果您希望在目标不在列表中时使函数正常工作,请记住next采用可选default参数.