darchir 发表于 2021-4-11 09:51:46

47讲迭代器测试题5中提到的set数据结构是什么概念?

求助大佬:
小甲鱼在迭代器课后作业中测试题5:
5. 在 Python 原生支持的数据结构中,你知道哪一个是只能用迭代器访问的吗?
答:set。对于原生支持随机访问的数据结构(如tuple、list),可以使用迭代器或者下标索引的形式访问,但对于无法随机访问的数据结构 set 而言,迭代器是唯一的访问元素的方式。

答案中提到的set数据结构是什么概念?我印象中set都是跟设置、赋值相关的语句,怎么现在又和tuple, list等联系在一起了?!求大佬给详解,set数据结构是个什么东东?{:10_258:}

傻眼貓咪 发表于 2021-9-5 14:42:28

但对于无法随机访问的数据结构 set 而言
這裡已經說明 set 無法靠索引(index)訪問,如:
A = {1, 2, 3} # 這是 set
print(A) # 這裡報錯 TypeError: 'set' object is not subscriptable

索引就是帶有編號排序,比如電影院裡的椅子跟據編號排列 A001,A002 等
set 是無索引,也就是無序,不能排序,大小不分

A = {1, 2, 3} # 這是 set

for i in A: # 正確訪問方法:迭代訪問
    print(i)

for i in range(len(A)): # 報錯:索引訪問
    print(A)

A = {1, 2, 3} # 這是 set

B = iter(A) # 生成迭代器

for i in range(len(A)): # 另外一種迭代訪問,如果這個太難明白,看看就好,以後你漸漸會明白的
    print(B.__next__()) # 輸出:1 2 3
页: [1]
查看完整版本: 47讲迭代器测试题5中提到的set数据结构是什么概念?