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巡回赛举办地包括:广州,九江,广岛,宁波,东京,利雅得
相关推荐
geovindu6 小时前
python: Functional Options Pattern
开发语言·后端·python·设计模式·惯用法模式·函数式选项模式
tryCbest7 小时前
Python 文件操作
服务器·python
涛声依旧-底层原理研究所7 小时前
Agent 长任务可靠性设计:实现暂停、恢复、续跑与崩溃重启的完整方案
人工智能·python·系统架构
AC赳赳老秦7 小时前
防火墙规则批量配置实战:OpenClaw 自动生成模板、批量下发与合规性校验全解析
java·开发语言·人工智能·python·github·php·openclaw
小小编程路7 小时前
如何优化while循环的性能?
python
lzqrzpt8 小时前
LED驱动电源选型标准与工程应用技术要点解析
python·单片机·嵌入式硬件·物联网
Maiko Star9 小时前
Python核心语法——函数
开发语言·python
linzᅟᅠ9 小时前
README
人工智能·python
瓶中怪9 小时前
ROS2 机器人软件系统
linux·c++·python·ubuntu·vmware·ros2·机器人软件开发
满怀冰雪9 小时前
22_Runnable接口源码拆解_LCEL管道语法背后_invoke_stream_batch究竟做了什么
python·batch