python中x 1什么意思_Python:A [1:]中x的含义是什么?

这是

array slice语法.看到这个问题:

Explain Python’s slice notation

对于列表my_list对象,例如[1,2,“foo”,“bar”],my_list [1:]相当于从0索引1开始的所有元素的浅复制列表:[2,“foo”,“bar”].所以你的for语句遍历这些对象:

for-iteration 0: x == 2

for-iteration 1: x == "foo"

for-iteration 2: x == "bar"

range(..)返回索引(整数)的列表/生成器,因此你的for语句将迭代整数[1,2,…,len(my_list)]

for-iteration 0: x == 1

for-iteration 1: x == 2

for-iteration 2: x == 3

因此,在后一版本中,您可以使用x作为列表的索引:iter_obj = my_list [x].

或者,如果您仍需要迭代索引(例如,对于当前对象的“计数”),则可以使用枚举:稍微更加pythonic版本:

for (i, x) in enumerate(my_list[1:]):

# i is the 0-based index into the truncated list [0, 1, 2]

# x is the current object from the truncated list [2, "foo", "bar"]

如果您决定将my_list的类型更改为其他类型,则此版本将更具未来性,因为它不依赖于基于0的索引的实现细节,因此更有可能与支持切片的其他可迭代类型一起使用句法.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值