Python基础学习之**序列**数据类型

Python基础学习之序列数据类型(成员是排列有序的,并且可以通过下标位移量来访问)

1. 序列类型操作符

    • dict()字典

判断某个key在不在字典的两种方式:
1、key in dict:返回Ture或者False
2、dict.get()方式:存在则返回相应的value;否则返回None(空值,什么也不返回)还可以指定返回值dict.get(‘Thomas’, -1)找不到返回-1是通过hash算法来定位的

删除其中的一个元素,dict.pop(key),删除整个键值对。dict内部时没有顺序的
dict可以用在需要高速查找的很多地方

for循环其实可以同时使用两个甚至多个变量,比如dict的items()可以同时迭代key和value:

for k, v in d.items():
//k,v可以同时迭代字典的key和value

和list比较,dict有以下几个特点:

1、查找和插入的速度极快,不会随着key的增加而变慢;
2、需要占用大量的内存,内存浪费多。
而list相反:

1、查找和插入的时间随着元素的增加而增加;
占用空间小,浪费内存很少。

2、所以,dict是用空间来换取时间的一种方法。

    • set 以list作为输入集合:(可以自动过滤重复数据)

    • in,not in

2、Python的字符串传参问题

1、%s方式,%d,%f,%x

// 
print('Age: %s. Gender: %s' % (25, True)) (当需要输出%号时,用两个%%);

2、format()方式

// 
print('Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125));

它会用传入的参数依次替换字符串内的占位符{0}、{1}……

2、f-string方式
{s:.2f}被变量s的值替换,并且:后面的.2f指定了格式化参数(即保留两位小数),因此,{s:.2f}的替换结果是19.62。

3、函数的传参问题

3.1可变参数(顾名思义,可变参数就是传入的参数个数是可变的,可以是1个、2个到任意个,还可以是0个。)

在这里插入图片描述
在参数前面加了一个*号。在函数内部,参数numbers接收到的是一个tuple。

允许在list或tuple前面加一个*号,把list或tuple的元素变成可变参数传进去:

3.2关键字参数

允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict
在这里插入图片描述
在这里插入图片描述
简化写法
在这里插入图片描述
对于关键字参数,函数的调用者可以传入任意不受限制的关键字参数。至于到底传入了哪些,就需要在函数内部通过kw检查。
在这里插入图片描述

4、高级函数

4.1map函数

map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。
在这里插入图片描述

4.2filter函数(筛选函数)

filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。
在这里插入图片描述

4.3sorted函数(排序函数)

默认是从小往大排序
1、直接对列表排序
在这里插入图片描述

2、接收参数排序
按绝对值排序
key指定的函数将作用于list的每一个元素上,并根据key函数返回的结果进行排序。
在这里插入图片描述

3、反向排序
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/baidu_41810561/article/details/120616192