Python学习(2) ----- Python的数据类型及其集合操作

在 Python 中,一切皆对象,每个对象都有类型。下面是 Python 中的常见内置类型分类和示例:


🟡 1. 数字类型(Numeric Types)

类型 说明 示例
int 整数 5, -42
float 浮点数 3.14, -0.5
complex 复数 1 + 2j
python 复制代码
a = 10        # int
b = 3.14      # float
c = 2 + 3j    # complex

🔤 2. 文本类型

类型 说明 示例
str 字符串 "hello" 或 '你好' 单引号或者双引号,如果涉及到换行的可以使用三双引号 """ """
python 复制代码
s = "Hello, 世界"
s = """
!!!
this is template!!!
!!!
"""

📦 3. 序列类型(Sequence Types)

类型 说明 示例
list 可变列表 [1, 2, 3]
tuple 不可变元组 (1, 2, 3)
range 范围对象 range(0, 5)
python 复制代码
my_list = [1, 2, 3]
my_tuple = (4, 5, 6)

🔡 4. 集合类型

类型 说明 示例
set 无序不重复集合 {1, 2, 3}
frozenset 不可变集合 frozenset([1,2])
python 复制代码
my_set = {1, 2, 3}

📖 5. 映射类型(Mapping)

类型 说明 示例
dict 字典 {"name": "Alice", "age": 30}
python 复制代码
person = {"name": "Alice", "age": 25}

🔘 6. 布尔类型

类型 说明 示例
bool 布尔值(真/假) True, False
python 复制代码
is_valid = True

🧼 7. 特殊类型

类型 说明 示例
NoneType 空值/无返回 None
bytes 二进制数据 b"abc"
bytearray 可变二进制序列 bytearray(b"abc")

✅ 类型检查与转换

检查类型:

python 复制代码
type(3.14)          # <class 'float'>
isinstance("abc", str)  # True

类型转换:

python 复制代码
int("123")        # => 123
float("3.14")     # => 3.14
str(456)          # => "456"
list("abc")       # => ['a', 'b', 'c']

💡 拓展:自定义类型(类)

python 复制代码
class Dog:
    def __init__(self, name):
        self.name = name

d = Dog("Buddy")
print(type(d))  # <class '__main__.Dog'>

集合类型的详细操作

当然可以!以下是包括集合类型的定义、添加、删除操作 在内的 Python 集合类型完整说明 ,帮助你全面理解集合(set 和 frozenset)的使用:


🧩 Python 集合类型(Set Types)完整说明


🔹 1. set(可变集合)

✅ 定义:

python 复制代码
my_set = {1, 2, 3}
my_set2 = set([4, 5, 6])  # 使用 set() 构造

✅ 添加元素:

方法 说明 示例
add(elem) 添加一个元素 my_set.add(4)
update(iterable) 添加多个元素(可传列表、元组等) my_set.update([5, 6, 7])
python 复制代码
my_set = {1, 2, 3}
my_set.add(4)               # => {1, 2, 3, 4}
my_set.update([5, 6])       # => {1, 2, 3, 4, 5, 6}

✅ 删除元素:

方法 说明 示例
remove(elem) 删除元素,不存在则抛出异常 my_set.remove(2)
discard(elem) 删除元素,不存在也不会抛异常 my_set.discard(100)
pop() 随机删除一个元素并返回它 val = my_set.pop()
clear() 清空集合 my_set.clear()
python 复制代码
my_set = {1, 2, 3, 4}
my_set.remove(2)       # => {1, 3, 4}
my_set.discard(100)    # 不报错
value = my_set.pop()   # 删除并返回任一元素
my_set.clear()         # => 空集合 set()

🔹 2. frozenset(不可变集合)

✅ 定义:

python 复制代码
fset = frozenset([1, 2, 3])

⚠️ 不可修改:

  • 不支持 .add()、.remove()、.update() 等修改操作。
  • 可以用于字典的键或集合的元素(因为它是可哈希的)。

🧠 3. 集合的特点总结

  • 自动去重:{1, 2, 2, 3} 会变成 {1, 2, 3}
  • 元素无序:无法通过索引访问,如 set[0] 是错误的
  • 可进行集合运算(交、并、差等)
python 复制代码
a = {1, 2, 3}
b = {3, 4, 5}

print(a | b)  # 并集 => {1, 2, 3, 4, 5}
print(a & b)  # 交集 => {3}
print(a - b)  # 差集 => {1, 2}

✅ 小结

操作 可变 set 不可变 frozenset
添加元素 ✅ .add() / .update() ❌ 不支持
删除元素 ✅ .remove() / .discard() / .pop() / .clear() ❌ 不支持
集合运算 ✅ 支持 ✅ 支持
可做字典键 ❌ ✅ 支持

当然可以!下面是 Python 中字典(dict)和列表(list)的常见 API 操作大全,适合新手和有经验的开发者查阅和学习。


🧾 Python 常用 list 和 dict 操作总结


📚 一、列表(list)常见操作

✅ 创建列表

python 复制代码
lst = [1, 2, 3]
lst2 = list(range(5))   # [0, 1, 2, 3, 4]

✅ 添加元素

操作 示例 说明
append(x) lst.append(4) 尾部添加一个元素
extend([...]) lst.extend([5, 6]) 添加多个元素
insert(i, x) lst.insert(1, 'a') 插入到指定位置

✅ 删除元素

操作 示例 说明
pop() lst.pop() 移除最后一个并返回
pop(i) lst.pop(2) 移除指定索引
remove(x) lst.remove(3) 移除第一次出现的值
clear() lst.clear() 清空列表

✅ 查找/判断

操作 示例 说明
in 3 in lst 是否存在
index(x) lst.index(3) 第一次出现的索引
count(x) lst.count(1) 某元素出现次数

✅ 排序/翻转

操作 示例 说明
sort() lst.sort() 升序排序(原地)
sort(reverse=True) lst.sort(reverse=True) 降序排序
sorted(lst) 返回新排序列表
reverse() lst.reverse() 原地翻转

📘 二、字典(dict)常见操作

✅ 创建字典

python 复制代码
d = {"name": "Alice", "age": 30}
d2 = dict(id=123, status="ok")

✅ 访问与修改

操作 示例 说明
访问键值 d["name"] 获取键对应的值
安全访问 d.get("gender", "unknown") 不存在时返回默认值
修改值 d["age"] = 35 修改键对应的值

✅ 添加键值对

python 复制代码
d["gender"] = "female"

✅ 删除键值对

操作 示例 说明
pop(key) d.pop("name") 删除键并返回值
del del d["age"] 删除键值对
clear() d.clear() 清空字典

✅ 遍历字典

python 复制代码
for k in d: print(k)               # 遍历键
for v in d.values(): print(v)      # 遍历值
for k, v in d.items(): print(k, v) # 遍历键值对

✅ 获取内容

操作 示例 说明
keys() d.keys() 所有键
values() d.values() 所有值
items() d.items() 所有键值对 (tuple 形式)

✅ 合并与更新

python 复制代码
d.update({"age": 31, "city": "Beijing"})

✅ 小结图表

类型 操作 方法 / 函数 说明
list 添加 append(), insert() 添加元素
list 删除 pop(), remove() 删除元素
list 排序/翻转 sort(), reverse() 排序和翻转
dict 添加/修改 dict[key] = val 设置键值
dict 删除 pop(), del, clear() 删除键
dict 遍历 items(), keys() 遍历所有键或键值对

相关推荐
卷无止境8 小时前
一人公司的全栈选型指南:让 AI Agent 写得快,也让生意跑得稳
后端·python
滴啦嘟啦哒9 小时前
【具身笔记】【π0.5 微调与仿真】五、在MuJoCo中实现可视化仿真
笔记·python·vla·具身
xier_ran9 小时前
【infra之路】AI 编译器学习笔记(十三):AI 编译器全景——TVM、XLA、IREE 与其他
人工智能·笔记·学习
连山齐名9 小时前
ai应用开发的学习笔记
服务器·笔记·学习
Uncertainty!!10 小时前
Windows 10 与 Ubuntu 22.04 通过 Samba 共享文件夹
windows·ubuntu·共享文件夹
全栈练习生10 小时前
AI安全与红队测试
python·ai
费曼学习法10 小时前
把「发送成功」当「送达」?我排查 IM 长消息被静默吞掉的完整过程
python·ai编程·自动化运维
鸽鸽程序猿10 小时前
【项目】【在线判题系统】b端题目增删改
开发语言·python
NetX行者10 小时前
Python 工程化入门:从脚本到规范的 Python 项目结构
网络·python
xier_ran10 小时前
【infra之路】AI 编译器学习笔记(十四):为什么要 tiling,以及矩阵计算单元的“固定“
人工智能·笔记·学习