首页 新闻 会员 周边

在 Python 中,几乎所有的内置类型构造函数( list() 、 tuple() 、 set() 、 dict() )str(),都可以接收任何“可迭代对象”作为参数,而不仅仅是同类型的容器。

0
[已关闭问题] 关闭于 2026-03-04 16:12

1. 迭代 (Iteration):就是“重复”和“遍历”
迭代简单来说就是“重复做某件事”,特别是在数据集合(如列表、字符串)中一个接一个地访问每个元素的过程。
● 通俗理解:就像你数数,从 1 数到 10。每一次数数(比如从 2 数到 3)就是一次迭代。这个过程是重复的,并且是基于上一次的结果继续的。

# 这里的每一次循环,就是一次“迭代”
for i in [1, 2, 3, 4, 5]:
print(i) # 依次打印 1, 2, 3...

● 常见的可迭代对象:
● 列表 list : [1, 2, 3]
● 字符串 str : "hello" (可以一个字符一个字符地读)
● 元组 tuple : (1, 2)
● 字典 dict : {"a": 1}
● 集合 set : {1, 2, 3}
● range: range(5)

set() 是创建空集合的“唯一”标准语法
在 Python 的语法规则中,花括号 {} 被保留给了字典(dict)。

Python 的容器类型都非常“包容”,它们都可以通过接收其他容器(或可迭代对象)来创建自己,无论是空的还是满的。

虽然它们的内部逻辑一致,但你之所以会觉得 set 很特殊,是因为它在显示结果时做了“伪装”:
● 列表、元组、字典:不管你是怎么创建的,它们显示出来就是 [] 、 () 、 {} 。
● 集合:为了不和字典搞混,它强制规定,空集合必须显示为 set() ,而不是 {} 。
这就是为什么:
虽然 set("") 、 set([]) 、 set(()) 做的事情和 list("") 、 tuple("") 一样(都是把空的东西变为空容器),但只有 set 的结果显示得看起来“怪怪的”( set() ),而其他的显示得很正常( "" 变 [] 或 () )。

 

 

传入的参数参数的含义结果

 set() 什么都不放空集合

 set([]) 空列表空集合

 set(()) 空元组空集合

 set("") 空字符串空集合

 set({}) 空字典空集合 (把字典的键拿出来,空字典没键,所以是空集)

 

*Tesla*的主页 *Tesla* | 小虾三级 | 园豆:1530
提问于:2026-03-04 16:11
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册