Python 读取和写入数组的变量片
众所周知,我们可以使用切片从阵列中轻松提取数据:Python 读取和写入数组的变量片,python,python-3.x,list,Python,Python 3.x,List,众所周知,我们可以使用切片从阵列中轻松提取数据: >>> L = range(10) >>> L[::2] [0, 2, 4, 6, 8] 我经常在需要使用切片时编写代码,如下所示: >>> L[ind:ind+x] 我现在好奇的是:为什么没有一个运营商来实现这一点?例如,在Verilog中,我们可以使用如下切片: >>> L[ind+:x] 有没有其他方法可以轻松实现该功能?没有,Python没有这种语法。不过这没关
>>> L = range(10)
>>> L[::2]
[0, 2, 4, 6, 8]
我经常在需要使用切片时编写代码,如下所示:
>>> L[ind:ind+x]
我现在好奇的是:为什么没有一个运营商来实现这一点?例如,在Verilog中,我们可以使用如下切片:
>>> L[ind+:x]
有没有其他方法可以轻松实现该功能?没有,Python没有这种语法。不过这没关系——Python并不是一种奖励有十种方法来做任何事情的语言。不,Python没有这样的语法。不过这没关系——Python不是一种奖励拥有十种方法来完成每件事的语言 为什么没有一家运营商可以做到这一点 自Python的早期版本以来,列表切片的语法没有改变。原因可能是个人的判断或其他语言的影响。事实就是这样。我们必须学会接受它 有没有其他方法可以轻松实现该功能 当然可以。注
[]
是\uuu getitem\uuu
的语法糖,ind:ind+x
可以表示为切片
对象。也许你更喜欢第二种变体
L = list(range(10))
L[3:7] # [3, 4, 5, 6]
m, k = 3, 4
L.__getitem__(slice(m, m+k)) # [3, 4, 5, 6]
为什么没有一家运营商可以做到这一点
自Python的早期版本以来,列表切片的语法没有改变。原因可能是个人的判断或其他语言的影响。事实就是这样。我们必须学会接受它
有没有其他方法可以轻松实现该功能
当然可以。注[]
是\uuu getitem\uuu
的语法糖,ind:ind+x
可以表示为切片
对象。也许你更喜欢第二种变体
L = list(range(10))
L[3:7] # [3, 4, 5, 6]
m, k = 3, 4
L.__getitem__(slice(m, m+k)) # [3, 4, 5, 6]
没有这样的语法。通过编程操作切片的唯一方法是
slice
对象
i = slice(ind, ind+x)
print(x[i])
没有这样的语法。通过编程操作切片的唯一方法是
slice
对象
i = slice(ind, ind+x)
print(x[i])