Python 集合类型全解析:从网球赛事案例看透字符串、列表、元组、集合与字典(1)

一、五种集合类型的定义与核心特性

首先我们通过网球赛事相关数据,逐一认识这五种集合类型,看看它们在定义方式和核心特性上的差异:

1. 字符串(str):不可变的字符序列

字符串是由字符组成的有序序列,用单引号或双引号包裹,元素不可修改,支持通过索引获取指定字符。

python 复制代码
# 定义网球协会相关字符串
s = 'ATP是男子网球协会,WTA是女子网球协会'
# 通过索引获取前3个字符(ATP)和第12-14个字符(WTA) print(s[0],s[1],s[2],sep='')# 输出:ATP 
print(s[11],s[12],s[13],sep='') # 输出:WTA

2. 列表(list):可变的有序集合

列表用方括号[]定义,元素之间用逗号分隔,元素可修改、可新增、可删除,同样支持索引访问,是最常用的集合类型之一。

python 复制代码
# 定义网球大满贯赛事列表
GS = ['澳网','法网','温网','美网']
# 遍历输出所有大满贯赛事 
print('网球大满贯赛事包括:',end='') print(GS[0],GS[1],GS[2],GS[3],sep=',') # 输出:网球大满贯赛事包括:澳网,法网,温网,美网

3. 元组(tuple):不可变的有序集合

元组用圆括号()定义,元素之间用逗号分隔,元素不可修改,支持索引访问。特别注意:如果元组只有一个元素,末尾必须加逗号。

python 复制代码
# 定义ATP1000大师赛举办地元组
ATP1000 = ('马德里','罗马','上海','巴黎')
# 遍历输出所有举办地 
print('ATP大师赛举办地包括:',end='')
print(ATP1000[0],ATP1000[1],ATP1000[2],ATP1000[3],sep=',') # 输出:ATP大师赛举办地包括:马德里,罗马,上海,巴黎

4. 集合(set):无序的唯一集合

集合用大括号{}定义(注意与字典区分,集合无键值对),元素无序、不可重复,不支持索引访问,常用于去重和集合运算。

python 复制代码
# 定义WTA1000赛举办地集合 
WTA1000 = {'多哈','迪拜','北京','武汉'} 
# 转换为列表后遍历(因无序,每次输出顺序可能不同)
print('WTA1000赛举办地包括:',end='')
print(list(WTA1000)[0],list(WTA1000)[1],list(WTA1000)[2],list(WTA1000)[3],sep=',')

5. 字典(dict):键值对的无序集合

字典用大括号{}定义,以键:值的形式存储数据,键唯一不可变,值可任意修改,通过键而非索引访问值,是存储关联数据的理想选择。

python 复制代码
# 定义WTA巡回赛层级与举办地字典
WTA = {'WTA250':['广州','九江','广岛'],'WTA500':['宁波','东京'],'WTA_FINAL':'利雅得'} 
# 通过键获取对应值并输出
print('WTA巡回赛举办地包括:',end='') 
print(','.join(map(str,WTA['WTA250'])),end=',') print(','.join(map(str,WTA['WTA500'])),end=',')
print(WTA['WTA_FINAL']) # 输出:WTA巡回赛举办地包括:广州,九江,广岛,宁波,东京,利雅得
相关推荐
小陈工1 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
A__tao5 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
研究点啥好呢5 小时前
Github热门项目推荐 | 创建你的像素风格!
c++·python·node.js·github·开源软件
迷藏4946 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
明日清晨6 小时前
python扫码登录dy
开发语言·python
bazhange6 小时前
python如何像matlab一样使用向量化替代for循环
开发语言·python·matlab
人工干智能7 小时前
科普:python中你写的模块找不到了——`ModuleNotFoundError`
服务器·python
unicrom_深圳市由你创科技7 小时前
做虚拟示波器这种实时波形显示的上位机,用什么语言?
c++·python·c#
小敬爱吃饭7 小时前
Ragflow Docker部署及问题解决方案(界面为Welcome to nginx,ragflow上传文件失败,Docker中的ragflow-cpu-1一直重启)
人工智能·python·nginx·docker·语言模型·容器·数据挖掘
宸津-代码粉碎机7 小时前
Spring Boot 4.0虚拟线程实战调优技巧,最大化发挥并发优势
java·人工智能·spring boot·后端·python