编程语言
首页 > 编程语言> > Python:单冒号与双冒号

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