Python:单冒号与双冒号
作者:互联网
在这种情况下,单结肠和双结肠有什么区别?
数据[0:,4]与数据[0 ::,4]
women_only_stats = data[0::,4] == "female"
men_only_stats = data[0::,4] != "female"
我试图用数据[0:,4]替换数据[0 ::,4],我认为没有区别.这个或另一个案件有什么不同吗?
数据是二维数组,行如[‘1””’3”Braund,欧文哈里斯先生”男”22”1””A / 5 21171”7.25”’ ‘S’]
解决方法:
不,没有区别.
请参阅slice的Python文档:
来自文档:a [start:stop:step]
The start and step arguments default to None. Slice objects have
read-only data attributes start, stop and step which merely return the
argument values (or their default).
在这种情况下,您将包含一个空步骤参数.
>>> a = [1,2,3,4]
>>> a[2:]
[3,4]
>>> a[2::]
[3,4]
>>> a[2:] == a[2::]
True
并了解步骤参数实际执行的操作:
>>> b = [1,2,3,4,5,6,7,8,9,10]
>>> b[0::5]
[1, 6]
>>> b[1::5]
[2, 7]
因此,通过将其隐式为None(即,通过[2:]或[2 ::]),您不会以任何方式更改代码的输出.
希望这可以帮助.
标签:python,numpy,slice,colon 来源: https://codeday.me/bug/20191006/1858121.html