鱼C论坛

 找回密码
 立即注册
查看: 1784|回复: 1

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

[复制链接]
发表于 2021-4-11 09:51:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

答案中提到的set数据结构是什么概念?我印象中set都是跟设置、赋值相关的语句,怎么现在又和tuple, list等联系在一起了?!求大佬给详解,set数据结构是个什么东东?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-9-5 14:42:28 | 显示全部楼层
但对于无法随机访问的数据结构 set 而言

這裡已經說明 set 無法靠索引(index)訪問,如:
  1. A = {1, 2, 3} # 這是 set
  2. print(A[1]) # 這裡報錯 TypeError: 'set' object is not subscriptable
复制代码


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

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

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

  4. for i in range(len(A)): # 報錯:索引訪問
  5.     print(A[i])
复制代码

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

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

  3. for i in range(len(A)): # 另外一種迭代訪問,如果這個太難明白,看看就好,以後你漸漸會明白的
  4.     print(B.__next__()) # 輸出:1 2 3
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-19 04:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表