我经常发现我有这样的事情:
cur = [0, 0] # the indices into array
matrix = [[1,1,1]]
Run Code Online (Sandbox Code Playgroud)
我在哪里
matrix[cur[0]][cur[1]]
Run Code Online (Sandbox Code Playgroud)
这里有任何类型的解包语法吗?喜欢:
matrix[*cur]
Run Code Online (Sandbox Code Playgroud)
如果您切换到 NumPy 并且使用的是 Python 3.11+,那么是的,这是可行的。
\nimport numpy as np\n\ncur = [0, 0]\nmatrix = np.array([[1, 2, 3]])\n\nprint(matrix[*cur]) # -> 1\nRun Code Online (Sandbox Code Playgroud)\n在Python 3.11之前,你可以直接转换为元组:
\nprint(matrix[tuple(cur)]) # -> 1\nRun Code Online (Sandbox Code Playgroud)\n根据名称matrix,NumPy 在其他方面也可能是更好的解决方案。例如,您可以进行元素运算。
注意:Python 3.11 语法更改似乎没有记录在正常位置(新增内容和语法)。快速浏览了一下,我只发现它在下面提到typing.Unpack:“ *can\xe2\x80\x99t be use in certain地方”。不过PEP 646 对此进行了介绍,其中引入了typing.TypeVarTuple.
| 归档时间: |
|
| 查看次数: |
95 次 |
| 最近记录: |