python基础总结--- 列表、内置函数(4-5)
文章目录
- 6. 列表
- 6.1 列表的索引和切片
- 6.2 修改列表的元素值
- 6.3 列表的常用方法
- 6.3.1 添加元素append
- 6.3.2 添加元素 extend
- 6.3.3 插入元素insert
- 6.3.4 查找元素 in not in index count
- 6.3.4.1 查找 in / not in
- 6.3.4.2 索引元素位置index(可以索引字母或者字符串)
- 6.3.4.3 索引元素数量count
- 6.3.4.4 索引元素位置find(只能索引字符串)
- 6.3.5 删除元素
- 6.3.5.1 根据下标删除del
- 6.3.5.2 默认删除最后一个元素pop
- 6.3.5.3 元素的值进行删除remove
- 6.3.6 对元素排序sort reverse
- 6.3.7 列表生成list
- 6.4 元组 (Turple)
- 6.5 字典dict
- 6.5.1 创建字典
- 6.5.2 字典赋值或更改
- 6.5.3 判断key是否存在
- 6.5.4 删除字典元素
- 6.5.5 遍历字典
- 6.5.6 获取字典key
- 6.5.7获取字典values
- 6.5.8 输出一个list格式
- 6.5.9 多维list
- 6.5.10 计算字典元素个数
- 6.5.11 输出字典可打印的字符串
- 6.5.12 将其他处理成字典
- 6.6 集合set
- 7. 常用内置函数
- 7.1 数据类型
- 7.1.1 数据类型type()
- 7.1.2 整数int()
- 7.1.3 浮点型float()
- 7.1.4 字符串str()
- 7.1.5 布尔类型bool()
- 7.1.6 数据列表list()
- 7.1.7 元组tuple()
- 7.1.8 字典dict()
- 7.1.9 集合set()
- 7.2 数学相关
- 7.3 其他
- 7.4 逻辑相关
- 7.5 序列相关
6. 列表
我们可以对列表这样去理解, 就把它当成一个大桶, 当我们有一堆东西需要找个地方临时存放在一起, 以便后续进行排序, 筛选,提取等操作时, 就弄一个列表, 先放进去.
s = [1,2,3,4,5,6,7,8,9,10]
s[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
列表中的元素,没有数据类型的限制,可以为任何数据类型
list1 = [1, 2, 3,'on','go',True,False,None]
list1
[1, 2, 3, 'on', 'go', True, False, None]
6.1 列表的索引和切片
list是一种有序的集合,可以随时添加和删除其中的元素。 也就是说列表是内部元素可变的一个容器mutable
列表和字符串一样,是一种可迭代对象.
因此可以和字符串一样进行索引和切片.语法方面是一样的.
L[起始位置:终止位置:步长] # 包含起始位置,不包含终止位置
案例
L = [1,2,3,4,5,6,7,8,9,0]
L [-2:0:-3]
[9, 6, 3]
6.2 修改列表的元素值
通过元素的索引位置来索引元素
L = ['python','java','C','PHP']
L[0] = 'R'L
['R', 'java', 'C', 'PHP']
6.3 列表的常用方法
6.3.1 添加元素append
通过append可以向列表添加元素 添加数组或者字符串
L = ['Superman','Hulk','Spiderman']
L.append('Leifengxia')
L
['Superman', 'Hulk', 'Spiderman', 'Leifengxia']
6.3.2 添加元素 extend
通过extend可以将另一个集合中的元素逐一添加到列表中
a = [1,2]
b = [3,4]
a.append(b)
a
[1, 2, [3, 4]]
6.3.3 插入元素insert
insert(index, object) 在指定位置index前插入元素object
a = ['插','入','素']
a.insert( 2,'元')
a
['插', '入', '元', '素']
6.3.4 查找元素 in not in index count
6.3.4.1 查找 in / not in
test = ['插', '入', '元', '素','元']'入' in test
True'元' not in test
False
6.3.4.2 索引元素位置index(可以索引字母或者字符串)
test.index('元')
2
6.3.4.3 索引元素数量count
test.count('元')
2
6.3.4.4 索引元素位置find(只能索引字符串)
s ='xyz'
s.find('y')
1
6.3.5 删除元素
6.3.5.1 根据下标删除del
- del:根据下标进行删除
movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情']
del movieName [1:3]
movieName
['加勒比海盗', '指环王', '霍比特人', '速度与激情']
6.3.5.2 默认删除最后一个元素pop
- pop:删除最后一个元素
movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情']
movieName.pop(1)
movieName
['加勒比海盗', '第一滴血', '指环王', '霍比特人', '速度与激情']
6.3.5.3 元素的值进行删除remove
- remove:根据元素的值进行删除
movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情']
movieName.remove('骇客帝国')
movieName
['加勒比海盗', '第一滴血', '指环王', '霍比特人', '速度与激情']
6.3.6 对元素排序sort reverse
排序(sort, reverse)
sort方法是将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。
reverse方法是将list逆置。
a = [1, 4, 2, 3]
a.reverse()
a
[3, 2, 4, 1]
a = [1, 4, 2, 3]
a.sort(reverse=True) #从大到小
a
[4, 3, 2, 1]
a.sort(reverse = False) #从小到大 和a.sort()一样
a
[1, 2, 3, 4]
6.3.7 列表生成list
- 方法一
a = [1,2,3,4,5,6,7,8,9,10]
a
- 方法二
list(range(1,11))
- 方法三
L = []
for i in range(0,11):L.append(i)
L
- 方法四
[i for i in range(1,11) ]
6.4 元组 (Turple)
Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。
aTuple = ('et',77,99.9,'OK')
aTuple
('et', 77, 99.9, 'OK')
aTuple = aTuple[:3]
aTuple
('et', 77, 99.9)
表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向’a’,就不能改成指向’b’,指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!
6.5 字典dict
Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。
举个例子,FIFA18球员能力值排名, 我们要根据球员的名字查找对应的成绩,如果用list实现,需要两个list:
names = ['克里斯蒂亚诺·罗纳尔多', '里奥·梅西', '内马尔','路易斯·苏亚雷斯', '曼努埃尔·诺伊尔', '罗伯特·莱万多夫斯基', '塞尔吉奥·拉莫斯' ]
scores = [94, 93, 92, 92, 92, 91, 90]
6.5.1 创建字典
字典由键(key)和对应值(value)成对组成。字典也被称作关联数组或哈希表。基本语法如下:
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
注意: 每个键与值用冒号隔开(:),每对用逗号,每对用逗号分割,整体放在花括号中({})。 键必须独一无二,但值则不必。
值可以取任何数据类型,但必须是不可变的,如字符串,数组或元组。
如果用dict实现,只需要一个“名字”-“评分”的对照表,直接根据名字查找评分,无论这个表有多大,查找速度都不会变慢。用Python写一个dict如下
d = {'C罗纳尔多': 94, '梅西': 93, '内马尔': 92, '苏亚雷斯':92, '诺伊尔':92, '莱万多夫斯基':91, '拉莫斯':90}
d['内马尔']
92
我们平时使用字典的时候, 是在字典的索引表里(比如部首表)查这个字对应的页码,然后直接翻到该页,找到这个字。无论找哪个字,这种查找速度都非常快,不会随着字典大小的增加而变慢。
dict就是这种实现方式,给定一个名字,比如’梅西’,dict在内部就可以直接计算出梅西对应的存放评分的“页码”,也就是93这个数字存放的内存地址,直接取出来,速度非常快。
你可以猜到,这种key-value存储方式,在放进去的时候,必须根据key算出value的存放位置,这样,取的时候才能根据key直接拿到value。
把数据放入dict的方法,除了初始化时指定外,还可以通过key放入:
6.5.2 字典赋值或更改
d['key'] = value #key 存在即修改,key不存在即新增
d.setdefault('key',value) #只能新增
案例
d['克罗斯'] = 90
d
{'C罗纳尔多': 94,'梅西': 93,'内马尔': 92,'苏亚雷斯': 92,'诺伊尔': 92,'莱万多夫斯基': 91,'拉莫斯': 90,'克罗斯': 90}
6.5.3 判断key是否存在
可以通过 in判断key是否存在
"大罗纳尔多" in d
False
通过dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value:
k = d.get('卡恩')
print(k)
None
6.5.4 删除字典元素
d.pop('key') #必须要传值,因为字典是无序的
d.popitem() 随机删除一个
del d['key']
d.clear() 清空字典
- 练习题
dict = {“k1”:“v1”,“k2”:“v2”,“k3”:“v3”}
- 请在字典中增加一个键值对,“k4”:“v4”,输出添加后的字典
dict = {"k1":"v1","k2":"v2","k3":"v3"}
dict['k4']='v4'
dict
- 请删除字典中键值对"k1":“v1”,并输出删除后的结果
dict.pop('k1')
dict
- 请获取字典中"k2"对应的值
dict.get('k2')
- 请删除字典中键"k5"对应的键值对,如果字典中不存在键"k5",则不报错,返回None
del dict['k3']
6.5.5 遍历字典
for k,v in d.items(): #遍历字典print(k,v)
无须转换成list 格式,保留了字典原有的特性。
for k, v in d.items():print(k,v)
C罗纳尔多 94
梅西 93
内马尔 92
苏亚雷斯 92
诺伊尔 92
莱万多夫斯基 91
拉莫斯 90
克罗斯 90
李毅 66
托尼·克罗斯 88
6.5.6 获取字典key
d.keys()
dict_keys(['C罗纳尔多', '梅西', '内马尔', '苏亚雷斯', '诺伊尔', '莱万多夫斯基', '拉莫斯', '克罗斯'])
6.5.7获取字典values
d.values()
dict_values([94, 93, 92, 92, 92, 91, 90])
6.5.8 输出一个list格式
print(d.items())
dict_items([('C罗纳尔多', 94), ('梅西', 93), ('内马尔', 92), ('苏亚雷斯', 92), ('诺伊尔', 92), ('莱万多夫斯基', 91), ('拉莫斯', 90)])
6.5.9 多维list
print(list(d.items()))
[('C罗纳尔多', 94), ('梅西', 93), ('内马尔', 92), ('苏亚雷斯', 92), ('诺伊尔', 92), ('莱万多夫斯基', 91), ('拉莫斯', 90)]
6.5.10 计算字典元素个数
len(d)
7
6.5.11 输出字典可打印的字符串
str(d)
"{'C罗纳尔多': 94, '梅西': 93, '内马尔': 92, '苏亚雷斯': 92, '诺伊尔': 92, '莱万多夫斯基': 91, '拉莫斯': 90}"
6.5.12 将其他处理成字典
names = ['罗纳尔多', '梅西', '内马尔','苏亚雷斯', '诺伊尔', '莱万多夫斯基', '拉莫斯' ]
scores = [94, 93, 92, 92, 92, 91, 90]# 首先创建一个空字典
d = {}
for number,name in enumerate(names):d[name] = scores[number]
d
{'罗纳尔多': 94,'梅西': 93,'内马尔': 92,'苏亚雷斯': 92,'诺伊尔': 92,'莱万多夫斯基': 91,'拉莫斯': 90}
6.6 集合set
集合(set)是一个无序的不重复元素序列。
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
其实集合就是一个没有value的dict
要注意的是set是无序的, 虽然这里1, 2, 3是顺序显示的
s = set([2,1, 3])
s
{1, 2, 3}
set 一个常规应用时过滤重复值
s = set([1, 1, 2, 2, 3, 3])
s
{1, 2, 3}
可以通过add(key)方法添加元素到set中,但对于已经存在的值不会有效果
s.add(4)
s
{1, 2, 3, 4}
- 两个set可以做数学意义上的交集、并集等操作
- 交集
s1 = set([1, 2, 3])
s2 = set([2, 3, 4])
s1 & s2
{2, 3}
s1.intersection(s2)
{2, 3}
- 并集
s1 | s2
{1, 2, 3, 4}
s1.union(s2)
{1, 2, 3, 4}
7. 常用内置函数
Python的官方文档介绍:Built-in Functions
中文版文档:Python3 内置函数
全部的内置函数在这个连接,有一些平时很少会用到,我们只讲一些常用的.
7.1 数据类型
a = '好学AI之Python基础'
7.1.1 数据类型type()
type(a)
str
7.1.2 整数int()
int()
7.1.3 浮点型float()
float()
7.1.4 字符串str()
str()
7.1.5 布尔类型bool()
bool()
7.1.6 数据列表list()
list(range(0,10,2))
7.1.7 元组tuple()
7.1.8 字典dict()
7.1.9 集合set()
7.2 数学相关
- max() 最大值
- min() 最大值
- sum() 加和
- abs() 绝对值
- pow() 次方
- round() 四舍五入
- bin() 将整数转换成二进制
- divmod() 同时取得整除值和余数值
7.3 其他
- input() 获取用户输入
- print() 打印
- id() 查看变量的内存地址
- ord() 将字母转换成对应数字
- chr() 将数字转换成对应字母
7.4 逻辑相关
- all()
函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。 元素除了是 0、空、FALSE 外都算 TRUE。 - any()
函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。 元素除了是 0、空、FALSE 外都算 TRUE。
7.5 序列相关
range() 生成整数序列
len() 计算序列长度
enumerate() 枚举序列, 同时返回序列的索引值和储存值
reversed() 翻转
sorted() 排序
filter() 过滤
map() 映射
python基础总结--- 列表、内置函数(4-5)相关推荐
- python基础 course2(内置函数、运算符)
python基础 课程2 目录1. 内置函数的调用2. python中的变量3. 标准数据类型-数字类型4. 基础运算符5. 复合赋值运算符6. 比较运算符7. 逻辑运算符8. math科学计算库 函 ...
- Python基础十四——内置函数和匿名函数
内置函数: 截止到 python 版本3.6.2,现在 python 一共提供了 68 个内置函数. Built-in Functions abs() dict() help() mi ...
- python基础入门:内置函数之排列组合函数教程
product 笛卡尔积 (有放回抽样排列) permutations 排列 (不放回抽样排列) combinations 组合,没有重复 (不放回抽样组合) combinations_with_re ...
- python基础--字符串的内置函数
1. bit_length() 获取对应字符串的比特长度,就是在内存的长度 举例: a = 5 b = a.bit_length() print(b)3 2. capitalize() 将首字母 ...
- 【Python养成】常用内置函数 — 2(详解25个内置函数)
图片来自互联网 文章目录 前言 二.内置函数详解 1.函数:chr(x) 2.函数:dir([obj]) 3.函数:divmod(x,y) 4.函数:enumerate(sequence, [star ...
- python文档整理,Python官方文档内置函数整理Word版
<Python官方文档内置函数整理Word版>由会员分享,可在线阅读,更多相关<Python官方文档内置函数整理Word版(6页珍藏版)>请在人人文库网上搜索. 1.传播优秀W ...
- Python标准库:内置函数dict(mapping, **kwarg)
Python标准库:内置函数dict(mapping, **kwarg) 本函数是从一个映射函数对象构造一个新字典. 与dict(**kwarg)函数不一样的地方是參数输入是一个映射类型的函数对象,比 ...
- python匿名函数里用for_Python基础之(内置函数、匿名函数、递归)
一.内置函数 1.1.作用域相关 locals() #以字典的类型返回当前位置的全部局部变量. globals() #以字典的类型返回全部全局变量. 1.2.迭代器生成器相关 range() #可创建 ...
- python列表内置函数
文章目录 前言 一.列表的形象和本质 二.列表的内置函数 1.append(x) 2.insert(index,x) 3.反序的应用 4.remove(x).pop(index).clear() 5. ...
- python入门之函数调用内置函数_第九篇 python基础之函数,递归,内置函数
阅读目录 一 数学定义的函数与python中的函数 二 为何使用函数 背景提要 三 函数和过程 四 函数参数 五 局部变量和全局变量 六 前向引用之'函数即变量' 七 嵌套函数和作用域 八 递归调用 ...
最新文章
- 多种数据DELPHI备份方式(源码)
- C++大师Lippman:我对中国程序员的忠告
- 直播技术(从服务端到客户端)二
- C/C++指针错误与调试相关学习总结
- java 08_java 08 权限修饰符 编译运行
- 用 docker-compose 启动 WebApi 和 SQL Server
- 怎么取消苹果手机自动续费_知乎会员怎样取消自动续费
- 查看linux中tcp连接数
- 【HDU5656】CA Loves GCD,容斥思想与乱搞
- java分隔符 字符串_我们如何使用Java分割带有任何空白字符作为分隔符的字符串?...
- php怎么访问到外部变量,从外部javascript fi访问PHP var
- href 和 src 区别
- mysql中文占两位_mysql 保留两位小数
- RPLIDAR激光雷达测试
- 基于STM32 LCD屏实现的俄罗斯方块小游戏(20220522完成 第一个综合类项目)
- 【C语言】飞翔的小鸟游戏
- 关于入门小白对java这种面向对象编程语言的封装、继承、多态的理解
- shopNC开发手册
- 对i++,i--,++i,--i深刻认识以及printf()函数打印的过程
- Microdata Wordpress,WORDPRESS使用微数据
热门文章
- tensorflow环境下的识别食物_在win10环境下进行tensorflow物体识别(ObjectDetection)训练...
- cesium 获取圆形边界位置_Cesium中级教程4 – 空间数据可视化(二)
- docker下载慢,卡顿解决办法——免费安装人人都有的docker加速器
- SQL注入——基于布尔的盲注(八)
- 教师计算机校本培训记录,信息技术教师个人校本培训总结
- 报头中的偏移量作用_C语言中函数的实现
- 仿微博国际版首页点击显示分组列表(popupwindow悬浮阴影效果)
- 如何将目录下几百个lib加入到vs项目属性下的链接器
- 编译maven_头条一面竟然问我Maven?
- openstack-5:安装rabbitmq