Python基础(十六、数据容器汇总)

2024-01-04

一、数据容器汇总

列表 元组 字符串 集合 字典
元素数量 多个 多个 多个 多个 多个
元素类型 任意 任意 字符 任意 键值对,键:除字典外任意类型,值:类型任意
下标索引
重复元素 支持 支持 支持 不支持 key不可重复
可修改性 支持 不支持 不支持 支持 支持
数据有序
使用场景 可修改、可重复的一批数据记录 不可修改、可重复的一批数据记录 一串字符的记录 不可重复的数据记录 通过key检索value的数据记录

二、数据容器通用操作

1.遍历

  • 五种数据容器都支持for循环遍历
  • 列表、元组、字符串支持while循环,集合、字典不支持(没有下标索引)

2.通用统计

len(容器)

统计容器的元素个数

my_list = [1,2,3,4]
my_dict = {"a":"b","c":"d"}
my_str = "abc"
print(len(my_list)) # 输出:4
print(len(my_dict)) # 输出:2
print(len(my_str)) # 输出:3

max(容器)

统计容器的最大元素

my_list = [1,2,3,4]
my_dict = {"a":"b","c":"d"}
my_str = "abc"
print(max(my_list)) # 输出:4
print(max(my_dict)) # 输出:c
print(max(my_str)) # 输出:c

min(容器)

统计容器的最小元素

my_list = [1,2,3,4]
my_dict = {"a":"b","c":"d"}
my_str = "abc"
print(min(my_list)) # 输出:1
print(min(my_dict)) # 输出:a
print(min(my_str)) # 输出:a

3.类型转换

  • list(容器) 将指定容器转换为列表
  • str(容器) 将指定容器转换为字符串
  • tuple(容器) 将指定容器转换为元素
  • set(容器) 将指定容器转换为集合

4.通用排序

sorted(容器,reverse=True)

  • reverse=True是降序
  • reverse=false是升序
  • 不写reverse,默认false,升序
  • 排序后结果是列表
my_list = [9,2,7,4]
my_dict = {"s":"b","c":"d"}
my_str = "ax3gbsc"
print(sorted(my_list)) # 输出 [2, 4, 7, 9]
print(sorted(my_dict)) # 输出 ['c', 's']
print(sorted(my_str)) # 输出 ['3', 'a', 'b', 'c', 'g', 's', 'x']

print(sorted(my_list, reverse=True)) # 输出 [9, 7, 4, 2]
print(sorted(my_dict, reverse=True)) # 输出 ['s', 'c']
print(sorted(my_str, reverse=True)) # 输出 ['x', 's', 'g', 'c', 'b', 'a', '3']

三、练习题目

1.定义一个列表fruits,其中包含apple、orange和banana三个元素。实现向列表中增加pear元素和在grape元素前插入kiwi元素。删除列表中的orange元素和第一个元素。将第二个元素修改为pineapple,最后遍历输出列表中的所有元素。

'''
1.定义一个列表fruits,其中包含apple、orange和banana三个元素。
实现向列表中增加pear元素和在grape元素前插入kiwi元素。
删除列表中的orange元素和第一个元素。
将第二个元素修改为pineapple,
最后遍历输出列表中的所有元素。
'''
fruits = ["apple","orange","banana"]
fruits.append("pear")
print(fruits) # 输出 ['apple', 'orange', 'banana', 'pear']
fruits.append("grape")
print(fruits) # 输出 ['apple', 'orange', 'banana', 'pear', 'grape']
fruits.insert(fruits.index("grape"),"kiwi")
print(fruits) # 输出 ['apple', 'orange', 'banana', 'pear', 'kiwi', 'grape']
fruits.remove("orange")
print(fruits) # 输出 ['apple', 'banana', 'pear', 'kiwi', 'grape']
fruits[2]="pineapple"
print(fruits) # 输出 ['apple', 'banana', 'pineapple', 'kiwi', 'grape']
for fru in fruits:
    print(fru)

2.定义一个字典student,包含name、age和gender三个键,对应的值分别为Tom、18和male。将score键添加到字典中,对应的值为[80, 90, 85]。删除age键值对,将name键对应的值修改为Alice。使用get方法查找gender和grade对应的值,并输出结果。最后遍历输出字典中的所有键值对。

'''
2.定义一个字典student,包含name、age和gender三个键,对应的值分别为Tom、18和male。
将score键添加到字典中,对应的值为[80, 90, 85]。
删除age键值对,
将name键对应的值修改为Alice。
使用get方法查找gender和grade对应的值,并输出结果。
最后遍历输出字典中的所有键值对。
'''
student = {
    "name": "Tom",
    "age": 18,
    "gender": "male"
}
print(student) # 输出 {'name': 'Tom', 'age': 18, 'gender': 'male'}
student["score"] = [80, 90, 85]
print(student) # 输出 {'name': 'Tom', 'age': 18, 'gender': 'male', 'score': [80, 90, 85]}
student.pop("age")
print(student) # 输出 {'name': 'Tom', 'gender': 'male', 'score': [80, 90, 85]}
student["name"] = "Alice"
print(student) # 输出 {'name': 'Alice', 'gender': 'male', 'score': [80, 90, 85]}
print(student.get("gender")) # 输出 male
print(student.get("grade")) # 输出 None
for stu in student.items():
    print(stu)
    '''
    输出
    ('name', 'Alice')
    ('gender', 'male')
    ('score', [80, 90, 85])
    '''

3.定义一个字符串message,包含Hello, World!这个字符串。求出字符串的长度,并使用切片获取从第7个字符开始到结尾的子串。拼接Hi和Alice两个字符串,生成一个新的字符串sentence。使用find和index方法查找World子串在字符串中的位置,并输出结果。

'''
3.定义一个字符串message,包含Hello, World!这个字符串。
求出字符串的长度,
并使用切片获取从第7个字符开始到结尾的子串。
拼接Hi和Alice两个字符串,生成一个新的字符串sentence。
使用find和index方法查找World子串在字符串中的位置,并输出结果。
'''
message = "Hello, World!"
print(message)# 输出 Hello, World!
print(len(message))# 输出 13
print(message[7:])# 输出 World!
sentence = f"Hi{message}Alice"
print(sentence)# 输出 Hello, World!
sentence = "Hi"+message+"Alice"
print(sentence)# 输出 Hello, World!
print(sentence.find("World"))# 输出 9
print(sentence.index("World"))# 输出 9

4.定义一个列表numbers,包含5、2、8、1和9这5个元素。对列表进行排序,得到一个升序排列的新列表sorted_numbers,并输出结果。

'''
4.定义一个列表numbers,包含5、2、8、1和9这5个元素。
对列表进行排序,得到一个升序排列的新列表sorted_numbers,并输出结果。
'''
numbers = [5,2,8,1,9]
sorted_numbers = sorted(numbers)
print(sorted_numbers)# 输出 [1, 2, 5, 8, 9]
sorted_numbers = sorted(numbers, reverse=True)
print(sorted_numbers)# 输出 [9, 8, 5, 2, 1]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python基础(十六、数据容器汇总) 的相关文章

随机推荐

  • Linux习题2

    解析 虚拟内存是计算机系统内存管理的一种技术 它使得应用程序认为它拥有连续可用的内存 使得每个进程看到的内存空间一致 解析 所谓系统调用 就是内核提供的 功能十分强大的一系列的函数 这些系统调用是在内核中实现的 再通过一定的方式把系统调用给
  • 基于WEB的教学辅助系统的设计与实现

    随着计算机和网络技术的飞速发展 人们传统的生活 工作和学习方式正在发生深刻变革 长久以来 各行各业的教学以传统的课堂讲授为主 效果受到诸多限制 因此 随着在线辅助教学及行业信息化的普及 构建信息交互平台的重要性日益凸显 为了提高教育质量 充
  • 可狱可囚的爬虫系列课程 09:通过 API 接口抓取数据

    前面已经讲解过 Requests 结合 BeautifulSoup4 库抓取数据 这种方式在抓取数据时还是比较方便快捷的 但是这并不意味着所有的网站都适合这种方式 并且这也不是抓取数据的最快方式 今天我们来讲一种更快速的获取数据的方式 通过
  • SSM知识点铺垫--Http工作原理?

    HTTP Hypertext Transfer Protocol 是一种用于在网络上传输超文本的协议 它是一个无状态的协议 意味着每次请求之间没有保留状态 HTTP的工作原理涉及客户端和服务器之间的通信 主要包括请求 Request 和响应
  • Unity中URP下的指数雾

    文章目录 前言 一 指数雾 雾效因子 1 FOG EXP 2 FOG EXP2 二 MixFog 1 ComputeFogIntensity 雾效强度计算 2 lerp fogColor fragColor fogIntensity 雾效颜
  • CRM软件对企业发展起着哪些作用?CRM的功能解析

    虽然不少科技成果昙花一现 但CRM管理系统作为销售和营销领域的核心技术 已经牢牢占据了不可撼动的地位 拥有一个部署得当的CRM系统能为企业带来诸多好处 它可以跟踪和管理销售人员与潜在 现有客户的所有互动和沟通 并帮助他们识别出需要重点培养或
  • 基于SpringBoot的旅游网站281

    文章目录 项目介绍 主要功能截图 部分代码展示 设计总结 项目获取方式 作者主页 超级无敌暴龙战士塔塔开 简介 Java领域优质创作者 简历模板 学习资料 面试题库 关注我 都给你 文末获取源码联系 项目介绍 基于SpringBoot的旅游
  • SpringIOC之support模块DefaultMessageSourceResolvable

    博主介绍 全网粉丝5W 全栈开发工程师 从事多年软件开发 在大厂呆过 持有软件中级 六级等证书 可提供微服务项目搭建与毕业项目实战 博主也曾写过优秀论文 查重率极低 在这方面有丰富的经验 博主作品 Java项目案例 主要基于SpringBo
  • SpringBoot多模块(module)项目搭建

    https www cnblogs com zfyang2429 p 10801959 html
  • JDK21新特性探秘

    欢迎关注公众号 通过文章导读关注 11来了 及时收到 AI 前沿项目工具及新技术 的推送 发送 资料 可领取 深入理解 Redis 系列文章结合电商场景讲解 Redis 使用场景 中间件系列笔记 和 编程高频电子书 文章导读地址 点击查看文
  • 5.1 中央寄存器的原理和组成

    思维导图 中央处理器 CPU 核心原理与组成 引言 中央处理器 CPU 作为计算机的 大脑 在现代计算机硬件中扮演着至关重要的角色 本文旨在深入探讨CPU的基本原理和组成部分 为读者提供一个全面的理解 CPU的基本原理 1 信息处理 CPU
  • <sa8650>sa8650 CDT-之-汽车CDT配置用户指南(上)

    sa8650 sa8650 CDT 之 汽车CDT配置用户指南 上 2 CDT概述 2 1 Platform ID值 2 2 CDT一般结构 2 3 CDT头 2 4 块元数据 2 5 CDBs 2 6 加载CDT的启动过程
  • 实现智能化运维的关键驱动力,你知道可观测性工具吗

    可观测性是指根据系统产生的数据评估内部系统状态的能力 对于IT运维团队来说 可观测性工具是非常重要的 通过这些工具 IT团队可以同时观察或深入了解IT基础架构中不同应用程序和资源的健康状况和状态 从而主动检测异常 分析问题并解决问题 可观测
  • linux centos使用rz、sz命令上传下载文件

    一般情况下 我们会使用终端软件 如 XShell SecureCRT 或 FinalShell 来连接远程服务器后 使用 rz 命令上传本地文件到远程服务器 再解压发版上线 一 安转使用 系统 Linux CentOS 7 安装 rz 和
  • Metasploit使用msfconsole命令启动时,报错‘/usr/share/metasploit-framework/......’

    当使用msfconsole命令启动时 msf无法启动 且报错 解决办法 1 更新apt程序库 apt get update 2 更新metasploit 框架 apt get install metasploit framework 3 重
  • 【C++项目】【报错】[错误] new: No such file or directory, compilation terminated【及解决方法】

    一 问题描述 C源代码文件在编译过程中报错 错误 new No such file or directory compilation terminated 代码如下 include
  • 第8章 多媒体嵌入

    学习目标 了解视频 音频嵌入技术 能够总结HTML5视频 音频嵌入技术的优点 了解常用的视频文件格式和音频文件格式 能够归纳HTML5支持的视频和音频格式 掌握HTML5中视频的嵌入方法 能够在HTML5页面中添加视频文件 掌握HTML5中
  • 服务器的丢包率高怎么办

    网络出现丢包状况了怎么办 具体情况可以从以下几点来判断 1 有可能是线路故障导致的 所以可以用光纤打光仪先判断是否是光纤的问题 2 对于设备方面来说 很多都是网络接口的光纤接触不良等 3 也可能是操作系统的问题 比如网卡问题和网络运营线路问
  • element ui弹窗在别的弹窗下方,优先级不高的问题

    在 弹窗 的标签中加入append to body即可解决该问题
  • Python基础(十六、数据容器汇总)

    文章目录 一 数据容器汇总 二 数据容器通用操作 1 遍历 2 通用统计 len 容器 max 容器 min 容器