开发者社区> 问答> 正文

初学python,请问这个切片操作报错的原因是什么? ?报错

对元组,列表和字符串这三中类型的数据进行切片操作,书中的一个切片操作的源代码如下:

 #!/usr/bin/env python
#-*- coding:utf-8 -*-

tp = {'apple', 'banana', 'grape', 'orange'}
l = ['apple', 'banana', 'grape', 'orange']
s = 'apple'

print tp[: 3]
print tp[3 :]
print tp[1 : -1]
print tp[:]

print l[: 3]
print l[3 :]
print l[1 : -1]
print l[:]

print s[: 3]
print s[3 :]
print s[1 : -1]
print s[:]

在命令行下运行上面的代码,结果报错:

 Traceback (most recent call last):
  File "032_sequence_slice.py", line 8, in <module>
    print tp[:3]
TypeError: 'set' object has no attribute '__getitem__'

这是为何呢?希望各位能不吝赐教,小弟感激不尽。

展开
收起
爱吃鱼的程序员 2020-06-23 01:44:06 318 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    {}表示字典,字典中数据是随机输出的,不能定点索引,更不能切片了

    set集合是无序的,所以不支持这种有序方式的切片。

    2020-06-23 01:44:23
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载