python基础——数据容器总结、通用方法和相互转换
python基础——数据容器总结、通用方法和相互转换【数据容器间的区别,通用方法min,max,sorted,转换方法list,tuple,str,set,zip】
📝前言:
在前段时间我们已经把python中常见的五大数据容器:列表、元组、字符串、集合、字典学习完了。
这篇文章主要对刚学习过的五大数据容器的特点做个总结,以及再介绍几个通用方法和它们之间相互转化的方法:
1,特点区分
2,通用方法
3,互相转换
🎬个人简介:努力学习ing
📋个人专栏:C语言入门基础以及python入门基础
🎀CSDN主页 愚润求学
🌄每日鸡汤:山穷水复疑无路,柳暗花明又一村
文章目录
一、特点总结
二,通用方法
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 中,max
和 min
是内置函数,用于查找序列(如列表、元组、字符串等)中的最大和最小元素。
示例:
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() 这些函数在转换或创建新的对象时,都会返回一个新的对象,而不是在原地修改原始对象。
🌈我的分享也就到此结束啦🌈
要是我的分享也能对你的学习起到帮助,那简直是太酷啦!
若有不足,还请大家多多指正,我们一起学习交流!
📢公主,王子:点赞👍→收藏⭐→关注🔍
感谢大家的观看和支持!祝大家都能得偿所愿,天天开心!!!
更多推荐
所有评论(0)