“[:,]”列表切片Python,什么意思?

5lwkijsr  于 2023-01-08  发布在  Python
关注(0)|答案(2)|浏览(110)

我正在阅读一些代码,看到" list[:,i] for i in range(0,list))......"
我很困惑逗号在那里做什么,:,和谷歌没有提供答案,因为你不能谷歌标点符号。
任何帮助都非常感谢!

bq3bfh9z

bq3bfh9z1#

您现在看到的是numpy多维数组切片。
逗号标记一个元组,读作[(:, i)]numpy数组解释为:使用:端对端(所有行)切片的第一个维,则对于每行,i选择 * 一 * 列。
请参阅numpy教程中的索引、切片和迭代。

ef1yzkbh

ef1yzkbh2#

我不想剽窃Martijn的答案,但我也对此感到困惑,所以我自己写了一个小的getitem浏览器来显示发生了什么。Python给getitem一个slice对象,对象可以决定如何处理它。多维数组也是元组。

>>> class X(object):
...     def __getitem__(self, name):
...             print type(name),name
...
>>> x=X()
>>> x[:,2]
<type 'tuple'> (slice(None, None, None), 2)
>>> x[1,2,3,4]
<type 'tuple'> (1, 2, 3, 4)
>>>

相关问题