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

python基础——数据容器总结、通用方法和相互转换

📝前言:
在前段时间我们已经把python中常见的五大数据容器:列表、元组、字符串、集合、字典学习完了。
这篇文章主要对刚学习过的五大数据容器的特点做个总结,以及再介绍几个通用方法和它们之间相互转化的方法:
1,特点区分
2,通用方法
3,互相转换

🎬个人简介:努力学习ing
📋个人专栏:C语言入门基础以及python入门基础
🎀CSDN主页 愚润求学
🌄每日鸡汤:山穷水复疑无路,柳暗花明又一村


文章目录

  • 一、特点总结
  • 二,通用方法
    • 1,sorted排序功能
      • (1)基本实例
      • (2)使用reverse参数
      • (3)使用key参数
    • 2,max和min函数
  • 三,相互转换
    • 1,示例(转列表):
    • 2,示例(转字符串):
    • 3,结合zip转字典
  • 四,总结

一、特点总结

在这里插入图片描述

这里是引用

二,通用方法

1,sorted排序功能

sorted() 是 Python 内置函数,用于对可迭代对象进行排序,如列表、元组(tuple)或字典(dict)
返回一个新的已排序列表,而原列表保持不变。
基本语法:

sorted(iterable, *, key=None, reverse=False)

iterable:需要排序的可迭代对象。
key:用于定义排序的键函数。可以使用 key 参数来指定一个函数,该函数将在比较元素之前应用于每个元素。最后返回的值就是排序的新依据
(如果 key 参数指定了一个函数,那么这个函数应该只接受一个参数并返回一个值,该值将用于排序。)
reverse:排序顺序。如果设置为 True,则列表将以降序排序。

(1)基本实例

list = [1,4,2,5,6]
tuple =(1,4,2,5,6)
str = "14256"
set = {1,4,2,5,6}
dict = {'c':1, 'a':3, 'b':2 }

print(sorted(list))
print(sorted(tuple))
print(sorted(str))
print(sorted(set))
print(sorted(dict))

输出结果:
在这里插入图片描述
值得注意的是:
1,排序完以后都是返回一个新的列表
2,字符串会被拆分成每个字符为一个元素
3,字典默认会根据它的键的字符串来排序

(2)使用reverse参数

data = [3, 1, 2, 4, 5]
sorted_data = sorted(data, reverse=True)
print(sorted_data)  # 输出: [5, 4, 3, 2, 1]

(3)使用key参数

示例一:

# 定义一个字典,其中包含学生姓名和分数
students = [
    {"name": "Alice", "score": 85},
    {"name": "Bob", "score": 90},
    {"name": "Charlie", "score": 80}
]

# 按分数降序排序
sorted_students = sorted(students, key=lambda x: x["score"], reverse=True)
print(sorted_students)
# 输出: [{'name': 'Bob', 'score': 90}, {'name': 'Alice', 'score': 85}, {'name': 'Charlie', 'score': 80}]

示例二:

# 通过key函数,根据元素的倒数对元素进行排序(因为是升序:倒数小的在前)
list = [1,4,2,5,6]
print(sorted(list, key= lambda x: 1/x))
# 输出结果:[6, 5, 4, 2, 1]

2,max和min函数

在 Python 中,maxmin 是内置函数,用于查找序列(如列表、元组、字符串等)中的最大和最小元素。
示例:

list = [1,4,2,5,6]
tuple =(1,4,2,5,6)
str = "14256"
set = {1,4,2,5,6}
dict = {'c':1, 'b':3, 'a':2 }

print(max(list), min(list))
print(max(tuple), min(tuple))
print(max(str), min(str))
print(max(set), min(set))
print(max(dict), min(dict))

输出:
在这里插入图片描述
注意:对字典使用的时候,也是根据键所代表的字符串

三,相互转换

转列表:list(), 转元组:tuple(),转字符串:str(),转集合:set()
因为字典的元素是键值对,所以一般无法直接转换成字典
(注意:转换后是返回一个新的,而不是在原有的数据容器上进行修改)

在这些数据容器进行转换的时候,需要注意:
一,转列表,元组,集合( list()tuple()set() ):
1,字符串转列表,元组或集合:会将字符串中每一个字符作为一个元素
2,字典转列表,元组或集合,会抛弃value, 留下的每一个key作为一个元素,但是也可以通过values()得到全部键以后,在将其转换成列表
3,转集合后,元素会变得无序
二,转字符串
是整体直接加双引号变成字符串,如:
[1,2,3,4,5] 变成: “[1,2,3,4,5]”
(1,2,3,4,5) 变成:“(1,2,3,4,5)”

1,示例(转列表):

my_list = [1,4,2,5,6]
my_tuple =(1,4,2,5,6)
my_str = "14256"
my_set = {1,4,2,5,6}
my_dict = {'c':1, 'b':3, 'a':2 }

print(list(my_tuple))
print(list(my_str))
print(list(my_set))
print(list(my_dict))

输出:
在这里插入图片描述

2,示例(转字符串):

my_list = [1,4,2,5,6]
my_tuple =(1,4,2,5,6)

print(str(my_list), str(my_list)[0], str(my_list)[2], str(my_list)[3])
print(str(my_tuple), str(my_tuple)[0], str(my_tuple)[2], str(my_tuple)[3])

输出:
在这里插入图片描述

可见:确实是将一个整体变成了字符串(还有空格)

3,结合zip转字典

zip() 函数是 Python 的一个内置函数,用于将两个或多个可迭代对象(如列表、元组或字符串)的元素组合成一个新的迭代器。每次迭代会返回一个元组,其中的元素分别来自各个输入可迭代对象。

基本语法:

zip(*iterables)

其中 *iterables 表示要组合的输入可迭代对象。
示例:

keys = ['a', 'b', 'c']
values = [1, 2, 3]
d = dict(zip(keys, values))
print(d)
# 输出:{'a': 1, 'b': 2, 'c': 3}

四,总结

先对操作方法进行总结:
在这里插入图片描述
对是否返回新的进行讨论:

1, 列表:基本上都是直接在原列表的基础上修改(无返回)
2, 元组(不可修改的list)除去list中对元素进行修改的操作,[但是可以对元组里面的元素list的元素进行修改]
3, 字符串:不可修改,基本上都是得到新的字符串
4, 集合:可修改,直接对原来的修改。但是union和difference是返回新集合。difference_update则是对集合1进行修改
5, 字典:可修改,直接对原来的修改,但是字典中的keys和values功能,会返回一个收集了全部键or值的数据容器
6, 切片操作(序列:列表,元组,字符串可用):从原序列里面找到一个子序列,并返回这个子序列(新)
7, 类型转换:list()、tuple()、str() 和 set() 这些函数在转换或创建新的对象时,都会返回一个新的对象,而不是在原地修改原始对象。


🌈我的分享也就到此结束啦🌈
要是我的分享也能对你的学习起到帮助,那简直是太酷啦!
若有不足,还请大家多多指正,我们一起学习交流!
📢公主,王子:点赞👍→收藏⭐→关注🔍
感谢大家的观看和支持!祝大家都能得偿所愿,天天开心!!!

相关文章:

  • (一)Linux+Windows下安装ffmpeg
  • 【Golang星辰图】创造美丽图表,洞察数据:解析Go语言中的数据可视化和数据分析库
  • 一次完整的 HTTP 请求所经历的步骤
  • node.js中常用的命令及示例
  • 「Linux系列」Shell 流程控制if-else/for循环/While循环/until循环/case语句/跳出循环break、continue
  • How to install mongodb on redhat 7.7
  • 《论文阅读》带边界调整的联合约束学习用于情感原因对提取 ACL 2023
  • IDEA 下载依赖包源码报错 Cannot download sources Sources not found for:XXX
  • 云原生相关知识
  • HTML5+CSS3小实例:具有悬停效果的3D闪耀动画
  • 工业相机采图方式、图像格式(BYTE、HObject和Mat)转换
  • 【技术栈】Spring Cache 简化 Redis 缓存使用
  • 入门【网络安全/黑客】启蒙教程
  • 部署dagu_1.12.10+replicadb0.15.1+sqlline1.12
  • Grok-1:参数量最大的开源大语言模型
  • 基于Java+SpringMvc+vue+element实现上海汽车博物馆平台
  • GitHub Copilot+ESP开发实战-串口
  • 现代卷积神经网络
  • springboot+itextpdf+thymeleaf+ognl根据静态模版文件实现动态生成pdf文件并导出demo
  • 网络原理(5)——IP协议(网络层)
  • 央行最新报告:积极落地5月推出的一揽子金融政策,促进经济供需平衡、物价合理回升
  • 体坛联播|曼联热刺会师欧联杯决赛,多哈世乒赛首日赛程出炉
  • 《2025城市青年旅行消费报告》发布,解码青年出行特征
  • 吴清:全力支持中央汇金公司发挥好类“平准基金”作用
  • 云南昆磨高速发生交通事故致3辆车起火,昆明消防:幸无人员伤亡
  • 2类药物别乱吃,严重可致肝肾衰竭!多人已中招