当前位置: 首页 > news >正文

Python 数据类型详解:列表、字典、元组与集合的操作指南

Python 数据类型详解:列表、字典、元组与集合的操作指南

文章目录

  • Python 数据类型详解:列表、字典、元组与集合的操作指南
      • 一 List 列表
        • 1 获取 List 中多个数据
        • 2 修改 List 对应位置的数据
        • 3 List 列表中的存储类型
        • 4 其他功能
          • 1)扩充入另一个列表
          • 2)按位置添加
          • 3)移除某索引
          • 4) 移除某值
      • 二 Dict 字典
        • 1 其他功能
          • 1)按 key 获取对应的 value
          • 2)将另一个字典补充到当前字典
          • 3)pop 调一个item,和列表的 pop 类似
      • 三 Tuple 元组
      • 四 Set 集合
      • 五 列表和字典的数据读取
      • 六 补充功能
      • 七 完整文件示例
      • 八 源码地址

本文详细介绍了 Python 中常用的数据类型,包括列表(List)、字典(Dict)、元组(Tuple)和集合(Set)。通过丰富的代码示例,展示了如何操作这些数据结构,如从列表中获取、修改元素,字典中按键获取值,元组的不可变特性,以及如何利用集合进行交集、并集与差集操作。此外,文章还介绍了列表和字典在循环中的应用,以及如何通过 popremove 等方法对数据进行动态处理。最后,提供了完整的代码示例与运行结果,帮助读者全面掌握 Python 的基础数据操作。

一 List 列表

   # List 列表files = ["f1.txt", "f2.txt", "f3.txt", "f4.txt", "f5.txt"]print("files[0] ", files[0])print("files[3] ", files[3])print("files[-1] ", files[-1])print("files[-3] ", files[-3])print()
1 获取 List 中多个数据
 		# 获取多个数据print("files[:3] ", files[:3])print("files[2:4] ", files[2:4])print("files[-3:] ", files[-3:])print()
2 修改 List 对应位置的数据
 		# 修改对应位置的数据print("old files[1] ", files[1])files[1] = 12print("new files[1] ", files[1])print()
3 List 列表中的存储类型

在列表中,你可以存放不同类型的元素,字符,数字,甚至列表里还能有列表。

    # 在列表中,你可以存放不同类型的元素,字符,数字,甚至列表里还能有列表。l = [1, "file", ["2", 3.2]]print(l)l[2][0] = "new string"print(l)print()
4 其他功能
1)扩充入另一个列表
files = ["f1.txt", "f2.txt"]
files.extend(["f3.txt", "f4.txt"])
print("extend", files)
2)按位置添加
files.insert(1, "file5.txt")  # 添加入第1位(首位是0哦)
print("insert", files)
3)移除某索引
del files[1]
print("del", files)
4) 移除某值
files.remove("f3.txt")
print("remove", files)

二 Dict 字典

Dict 字典,在字典中的元素不像列表,字典元素是没有顺序的

    # Dict 字典,在字典中的元素不像列表,字典元素是没有顺序的files = {"ID": 111, "passport": "my passport", "books": [1, 2, 3]}print(files)print(files["books"])print()files["ID"] = 222print(files)files["ID"] = [2,3,4]print(files)print()
1 其他功能
1)按 key 获取对应的 value

按key拿取,并在拿取失败的时候给一个设定好的默认值

files = {"ID": 111, "passport": "my passport", "books": [1, 2, 3]}print('files["ID"]:', files["ID"])
print('files.get("ID"):', files.get("unknown ID", "不存在这个 ID"))
2)将另一个字典补充到当前字典
files.update({"files": ["1", "2"]})
print('update:', files)
3)pop 调一个item,和列表的 pop 类似
popped = files.pop("ID")
print('popped:', popped)
print("remain:", files)

三 Tuple 元组

Tuple 元组,元组里的数据不可变

    # Tuple 元组,元组里的数据不可变files = ("file1", "file2", "file3")print(files[1])print()# files[1] = "file4"  # 这里会报错

四 Set 集合

Set 集合,常用它去去重,在集合中的元素,其实是没有顺序的,集合可以用 ([]),也可以用 {}

    # Set 集合,常用它去去重,在集合中的元素,其实是没有顺序的,集合可以用 ([]),也可以用 {}my_files = set(["file1", "file2", "file3"])print("my_files", my_files)your_files = {"file1", "file3", "file5"}print("your_files", your_files)print("交集 ", your_files.intersection(my_files))print("并集 ", your_files.union(my_files))print("补集 ", your_files.difference(my_files))print()

五 列表和字典的数据读取

		# 列表在循环中运用files = ["f1.txt", "f2.txt", "f3.txt", "f4.txt", "f5.txt"]for i in range(len(files)):if files[i] == "f3.txt":print("I got f3.txt")print()# 字典在循环中运用files = {"ID": 111, "passport": "my passport", "books": [1,2,3]}for key in files.keys():print("key:", key)for value in files.values():print("value:", value)for key, value in files.items():print("key:", key, ", value:", value)print()

六 补充功能

# 补充功能
files = []
for i in range(5):files.append("f" + str(i) + ".txt")  # 添加print("has", files)for i in range(len(files)):print("pop", files.pop())  # 从最后一个开始 pop 出。取出之后当前数据被删除print("remain", files)

七 完整文件示例

# This is a sample Python script.# Press ⌃R to execute it or replace it with your code.
# Press Double ⇧ to search everywhere for classes, files, tool windows, actions, and settings.def print_hi(name):# Use a breakpoint in the code line below to debug your script.print(f'Hi, {name}')  # Press ⌘F8 to toggle the breakpoint.# List 列表files = ["f1.txt", "f2.txt", "f3.txt", "f4.txt", "f5.txt"]print("files[0] ", files[0])print("files[3] ", files[3])print("files[-1] ", files[-1])print("files[-3] ", files[-3])print()# 获取多个数据print("files[:3] ", files[:3])print("files[2:4] ", files[2:4])print("files[-3:] ", files[-3:])print()# 修改对应位置的数据print("old files[1] ", files[1])files[1] = 12print("new files[1] ", files[1])print()# 在列表中,你可以存放不同类型的元素,字符,数字,甚至列表里还能有列表。l = [1, "file", ["2", 3.2]]print(l)l[2][0] = "new string"print(l)print()# Dict 字典,在字典中的元素不像列表,字典元素是没有顺序的files = {"ID": 111, "passport": "my passport", "books": [1, 2, 3]}print(files)print(files["books"])print()files["ID"] = 222print(files)files["ID"] = [2, 3, 4]print(files)print()# Tuple 元组,元组里的数据不可变files = ("file1", "file2", "file3")print(files[1])print()# files[1] = "file4"  # 这里会报错# Set 集合,常用它去去重,在集合中的元素,其实是没有顺序的,集合可以用 ([]),也可以用 {}my_files = set(["file1", "file2", "file3"])print("my_files", my_files)your_files = {"file1", "file3", "file5"}print("your_files", your_files)print("交集 ", your_files.intersection(my_files))print("并集 ", your_files.union(my_files))print("补集 ", your_files.difference(my_files))print()# 列表在循环中运用files = ["f1.txt", "f2.txt", "f3.txt", "f4.txt", "f5.txt"]for i in range(len(files)):if files[i] == "f3.txt":print("I got f3.txt")print()# 字典在循环中运用files = {"ID": 111, "passport": "my passport", "books": [1, 2, 3]}for key in files.keys():print("key:", key)for value in files.values():print("value:", value)for key, value in files.items():print("key:", key, ", value:", value)print()# 其他功能files = []for i in range(5):files.append("f" + str(i) + ".txt")  # 添加print("has", files)for i in range(len(files)):print("pop", files.pop())  # 从最后一个开始 pop 出。取出之后当前数据被删除print("remain", files)files = ["f1.txt", "f2.txt"]# 其他功能list# 扩充入另一个列表files.extend(["f3.txt", "f4.txt"])print("extend", files)# 按位置添加files.insert(1, "file5.txt")  # 添加入第1位(首位是0哦)print("insert", files)# 移除某索引del files[1]print("del", files)# 移除某值files.remove("f3.txt")print("remove", files)# 其他功能字典files = {"ID": 111, "passport": "my passport", "books": [1, 2, 3]}# 按key拿取,并在拿取失败的时候给一个设定好的默认值print('files["ID"]:', files["ID"])print('files.get("ID"):', files.get("unknown ID", "不存在这个 ID"))# 将另一个字典补充到当前字典files.update({"files": ["1", "2"]})print('update:', files)# pop 调一个item,和列表的 pop 类似popped = files.pop("ID")print('popped:', popped)print("remain:", files)# Press the green button in the gutter to run the script.
if __name__ == '__main__':print_hi('数据种类')# See PyCharm help at https://www.jetbrains.com/help/pycharm/

复制粘贴并覆盖到你的 main.py 中运行,运行结果如下。

Hi, 数据种类
files[0]  f1.txt
files[3]  f4.txt
files[-1]  f5.txt
files[-3]  f3.txtfiles[:3]  ['f1.txt', 'f2.txt', 'f3.txt']
files[2:4]  ['f3.txt', 'f4.txt']
files[-3:]  ['f3.txt', 'f4.txt', 'f5.txt']old files[1]  f2.txt
new files[1]  12[1, 'file', ['2', 3.2]]
[1, 'file', ['new string', 3.2]]{'ID': 111, 'passport': 'my passport', 'books': [1, 2, 3]}
[1, 2, 3]{'ID': 222, 'passport': 'my passport', 'books': [1, 2, 3]}
{'ID': [2, 3, 4], 'passport': 'my passport', 'books': [1, 2, 3]}file2my_files {'file3', 'file1', 'file2'}
your_files {'file5', 'file1', 'file3'}
交集  {'file1', 'file3'}
并集  {'file5', 'file3', 'file1', 'file2'}
补集  {'file5'}I got f3.txtkey: ID
key: passport
key: books
value: 111
value: my passport
value: [1, 2, 3]
key: ID , value: 111
key: passport , value: my passport
key: books , value: [1, 2, 3]has ['f0.txt']
has ['f0.txt', 'f1.txt']
has ['f0.txt', 'f1.txt', 'f2.txt']
has ['f0.txt', 'f1.txt', 'f2.txt', 'f3.txt']
has ['f0.txt', 'f1.txt', 'f2.txt', 'f3.txt', 'f4.txt']
pop f4.txt
remain ['f0.txt', 'f1.txt', 'f2.txt', 'f3.txt']
pop f3.txt
remain ['f0.txt', 'f1.txt', 'f2.txt']
pop f2.txt
remain ['f0.txt', 'f1.txt']
pop f1.txt
remain ['f0.txt']
pop f0.txt
remain []
extend ['f1.txt', 'f2.txt', 'f3.txt', 'f4.txt']
insert ['f1.txt', 'file5.txt', 'f2.txt', 'f3.txt', 'f4.txt']
del ['f1.txt', 'f2.txt', 'f3.txt', 'f4.txt']
remove ['f1.txt', 'f2.txt', 'f4.txt']
files["ID"]: 111
files.get("ID"): 不存在这个 ID
update: {'ID': 111, 'passport': 'my passport', 'books': [1, 2, 3], 'files': ['1', '2']}
popped: 111
remain: {'passport': 'my passport', 'books': [1, 2, 3], 'files': ['1', '2']}

八 源码地址

代码地址:GitHub 之 数据种类.py

引用 莫烦 Python

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【Linux进程】Linux Shell编程实战:构建简易脚本示例与技巧详解
  • 小说阅读书城微信小程序
  • C语言野指针
  • 小琳AI课堂:大语言模型如何符合伦理限制
  • ??Nginx实现会话保持_Nginx会话保持与Redis的结合_Nginx实现四层负载均衡
  • 网络运维故障处理
  • java基础面试题总结
  • QT多线程编程(基础概念以及示例)
  • linux_L2_linux删除文件
  • 第R3周:LSTM-火灾温度预测:3. nn.LSTM() 函数详解
  • web安卓逆向之必学HTML基础知识
  • 大数据新视界 --大数据大厂之 Cassandra 分布式数据库:高可用数据存储的新选择
  • 牛客周赛 Round 60 连点成线(哈希+模拟)
  • 数据结构之哈希表
  • Redis 与数据库数据一致性保证详解
  • ES6之路之模块详解
  • Laravel5.4 Queues队列学习
  • Quartz初级教程
  • unity如何实现一个固定宽度的orthagraphic相机
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 前嗅ForeSpider中数据浏览界面介绍
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 用element的upload组件实现多图片上传和压缩
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • ​比特币大跌的 2 个原因
  • ​经​纬​恒​润​二​面​​三​七​互​娱​一​面​​元​象​二​面​
  • # windows 安装 mysql 显示 no packages found 解决方法
  • $jQuery 重写Alert样式方法
  • (7)STL算法之交换赋值
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (WSI分类)WSI分类文献小综述 2024
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (五)activiti-modeler 编辑器初步优化
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转载)深入super,看Python如何解决钻石继承难题
  • .net core 6 集成和使用 mongodb
  • .NET Core 成都线下面基会拉开序幕
  • .net core 控制台应用程序读取配置文件app.config
  • .NET 解决重复提交问题
  • .NET 直连SAP HANA数据库
  • .NET和.COM和.CN域名区别
  • .NET微信公众号开发-2.0创建自定义菜单
  • .NET学习全景图
  • .net与java建立WebService再互相调用
  • :“Failed to access IIS metabase”解决方法
  • @autowired注解作用_Spring Boot进阶教程——注解大全(建议收藏!)
  • @JsonSerialize注解的使用
  • @Mapper作用
  • [.net]官方水晶报表的使用以演示下载