惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
S
SegmentFault 最新的问题
D
DataBreaches.Net
H
Help Net Security
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
Martin Fowler
Martin Fowler
IT之家
IT之家
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
腾讯CDC
罗磊的独立博客
Y
Y Combinator Blog
阮一峰的网络日志
阮一峰的网络日志
云风的 BLOG
云风的 BLOG
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
WordPress大学
WordPress大学
Microsoft Security Blog
Microsoft Security Blog
J
Java Code Geeks
Vercel News
Vercel News
Hugging Face - Blog
Hugging Face - Blog
aimingoo的专栏
aimingoo的专栏
Stack Overflow Blog
Stack Overflow Blog
Recent Announcements
Recent Announcements
博客园 - 三生石上(FineUI控件)

卡卡罗特

eino实现Agent eino整合RAG eino整合Tools go整合向量数据库ChromaDB langchainjs langchain实现Agent ollama调用各大模型 spring-ai 自定义一个MCP openCV初体验 01-Bing每日一图接口 02-腾讯API高清QQ头像https调用接口 01-获取指定网站的所有的链接 context.Context是什么? RWMutex读写锁 SyncMap的使用 defer的使用 go字符串工具类 go生成UUID go正则表达式 最后代码 | 卡卡罗特 swagger文档 | 卡卡罗特 react脚手架开发 | 卡卡罗特 python的对象增强 | 卡卡罗特 langchain实现Agent | 卡卡罗特 python依赖打包 | 卡卡罗特 python的异步 | 卡卡罗特 python的生成器 | 卡卡罗特 eino整合Tools | 卡卡罗特 eino实现Agent | 卡卡罗特
03.python列表集合元组字典 | 卡卡罗特
2026-05-24 · via 卡卡罗特

03.python列表集合元组字典 ​

特性列表 (List)集合 (Set)元组 (Tuple)字典 (Map/Dict)
是否有序✅ 有序❌ 无序✅ 有序✅ 有序 (Python 3.7+)
是否可重复✅ 可重复❌ 不可重复✅ 可重复❌ Key 不可重复
是否可修改✅ 可变✅ 可变❌ 不可变✅ 可变
存储结构单个元素单个元素单个元素键值对
Java 对应ArrayListHashSet无直接对应HashMap

完整对比示例

go

# 元组 - 不可变序列
tuple_example = (1, 2, 2, 3)  # 有序,可重复
print(f"元组: {tuple_example}, 类型: {type(tuple_example)}")

# 列表 - 可变序列
list_example = [1, 2, 2, 3]   # 有序,可重复
print(f"列表: {list_example}, 类型: {type(list_example)}")

# 集合 - 无序,不可重复
set_example = {1, 2, 3}       # 重复的 2 会被合并
print(f"集合: {set_example}, 类型: {type(set_example)}")

# 字典 - 键值映射
dict_example = {"a": 1, "b": 2}
print(f"字典: {dict_example}, 类型: {type(dict_example)}")

输出

text

元组: (1, 2, 2, 3), 类型: <class 'tuple'>
列表: [1, 2, 2, 3], 类型: <class 'list'>
集合: {1, 2, 3}, 类型: <class 'set'>
字典: {'a': 1, 'b': 2}, 类型: <class 'dict'>

列表[]

定义 ​

python

list1 = list([1,2])
items4 = list(range(1, 10))
items5 = list('hello')
print(list1)   # [1, 2]
print(items4)  # [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(items5)  # ['h', 'e', 'l', 'l', 'o']

添加元素 ​

python

languages = ['Python', 'Java', 'C++']
languages.append('JavaScript')
print(languages)  # ['Python', 'Java', 'C++', 'JavaScript']
languages.insert(1, 'SQL')
print(languages)  # ['Python', 'SQL', 'Java', 'C++', 'JavaScript']

删除元素 ​

pop方法删除元素时会得到被删除的元素,上面的代码中,我们将pop方法删除的元素赋值给了名为temp的变量。 当然如果你愿意,还可以把这个元素再次加入到列表中,正如上面的代码languages.append(temp)所做的那样。

python

languages = ['Python', 'SQL', 'Java', 'C++', 'JavaScript']
if 'Java' in languages:
    languages.remove('Java')
if 'Swift' in languages:
    languages.remove('Swift')
print(languages)  # ['Python', 'SQL', C++', 'JavaScript']
languages.pop()
temp = languages.pop(1)
print(temp)       # SQL
languages.append(temp)
print(languages)  # ['Python', C++', 'SQL']
languages.clear()
print(languages)  # []

常用方法 ​

排序 ​

python

lst=[54,56,77,4,567,34]
asc_lst=sorted(lst) #升序
desc_lst=sorted(lst, reverse=True) # 降序
print('原列表:',lst)
print('升序:',asc_lst)
print('降序:',desc_lst)

# 原列表: [54, 56, 77, 4, 567, 34]
# 升序: [4, 34, 54, 56, 77, 567]
# 降序: [567, 77, 56, 54, 34, 4]

反相 ​

python

lst=[54,56,77,4,567,34]

# (2) reversed
new_lst=reversed(lst)
print(type(new_lst)) # <class 'list_reverseiterator'>
print(list(new_lst)) 

# <class 'list_reverseiterator'>
# [34, 567, 4, 77, 56, 54]

合并zip ​

python

## 如果个数不匹配,按照少的来
x=['a','b','c','d']
y=[10,20,30,40,50]
zipobj=zip(x,y)
print(type(zipobj))
print(list(zipobj))

# <class 'zip'>
# [('a', 10), ('b', 20), ('c', 30), ('d', 40)]

加序列enumerate ​

python

y=[10,20,30,40,50]
enum=enumerate(y, start=1) # 从1开始
print(type(enum))
print(tuple(enum))

# <class 'enumerate'>
# ((1, 10), (2, 20), (3, 30), (4, 40), (5, 50))

判断集合是否有值 ​

python

## all集合全部有值则返回true
lst=[10,20,22,30]
lst2=[10,20,'',30]
print(all(lst2)) #False
print(all(lst)) #True

## any集合有一个有值则返回true
print(any(lst2)) #True

过滤 ​

python

def fun(num):
    return num % 2 == 1

obj = filter(fun,range(1,10))
print(list(obj))

# [1, 3, 5, 7, 9]

map ​

python

def upper(x):
    return x.upper()

obj = map(upper,["hello","world"])
print(list(obj))

# ['HELLO', 'WORLD']