python中set的使用

print(james_name + "'s fastest times are :"+str(sorted(set(r_james))[0:3]))
为什么这样写的时候不会报错
print(james_name + "'s fastest times are :"+str(set(r_james)[0:3]))
把sorted删除的时候报错显示TypeError: 'set' object is not subscriptable呢?
自学萌新求解

最简单一句话:set是无序的,不支持切片

str(sorted(set(r_james))[0:3]))

sorted先进行排序并返回一个列表,对列表进行切片。。而楼主更改过后,直接对set进行切片,set是无序的,不支持切片

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-01-19
sorted(set(r_james))返回的应该是个排序后的list类型,你查看下sorted()函数的return类型。对list类型当然可以进行切片操作。set(r_james)是集合类型,不支持切片。本回答被提问者采纳
相似回答