python中列表切片的部分疑问

切片是python语言中有关列表的一个常用操作,切片的对象是列表,这点是在使用中有可能被忽略的地方。

比如如下代码

number_list = range(1, 11)
for each_number in number_list:
     print(each_number)

会打印从1到10共10个数字。如果我们想仅仅打印前面3个数字,使用切片的方式,可能会写出如下代码:

number_list = range(1, 11)
for each_number in number_list:
     print(each_number)
first_sublist = number_list[:3]
print(f"The first three items in the list are: {first_sublist}")

这段代码输出的结果,除了数字1到10之外,还有

The first three items in the list are: range(1, 4)

这显然不是我们期望的内容,我们期望的内容应该是将 1 2 3打印出来。

这里出现与预期不一致的原因在于,number_list的类型为rangge,并不是list

number_list = range(1, 11)
print(type(number_list))

这里的输出结果为:

<class 'range'>

想要达到预期效果,就需要将range转换为list ,比如

number_list = range(1, 11)
new_list = list(number_list)
first_sublist = new_list[:3]
print(f"The first three items in the list are: {first_sublist}")
  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值