Python:单冒号与双冒号

标签 python numpy slice colon

在这种情况下,单冒号和双冒号有什么区别? data[0:,4]data[0::,4]

women_only_stats = data[0::,4] == "female" 

men_only_stats = data[0::,4] != "female"   

我尝试用 data[0:,4] 替换 data[0::,4],但我看不出有什么区别。这种情况和其他情况有什么不同吗?

data 是二维数组,其中的行如 ['1' '0' '3' 'Braund, Mr. Owen Harris' 'male' '22' '1' ' 0' '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).

在这种情况下,您将包含一个空的 step 参数。

>>> a = [1,2,3,4]
>>> a[2:]
[3,4]
>>> a[2::]
[3,4]
>>> a[2:] == a[2::]
True

并了解 step 参数的实际作用:

>>> b = [1,2,3,4,5,6,7,8,9,10]
>>> b[0::5]
[1, 6]
>>> b[1::5]
[2, 7]

因此,将其保留为隐式 None(即,a[2:]a[2::]) ,您不会以任何方式更改代码的输出。

希望这对您有所帮助。

关于Python:单冒号与双冒号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38160637/

相关文章:

python - 将 NumPy 矩阵复制到 NumPy 数组中

内存中的 Javascript 压缩。 Post 后在 Python 中解压。还必须处理非 ascii

python - 在 python 中滑动 Gabor 过滤器

Python OpenCV 在 Canny 边缘检测后删除最外层边缘

python - 从 python 列表中快速、独立随机抽取/样本 - 固定概率,而不是总数

python - 使用 Python 优化数组之间的 bool 比较

go - 奇怪的 slice 行为

string - 如何使用 unsafe 从没有内存复制的字符串中获取字节 slice

python - python 写入输出 csv 文件

python - Pandas plot.density 和 plot.kde 有什么区别?