文章目录

  • 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”}
  1. 请在字典中增加一个键值对,“k4”:“v4”,输出添加后的字典
dict = {"k1":"v1","k2":"v2","k3":"v3"}
dict['k4']='v4'
dict
  1. 请删除字典中键值对"k1":“v1”,并输出删除后的结果
dict.pop('k1')
dict
  1. 请获取字典中"k2"对应的值
dict.get('k2')
  1. 请删除字典中键"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可以做数学意义上的交集、并集等操作
  1. 交集
s1 = set([1, 2, 3])
s2 = set([2, 3, 4])
s1 & s2
{2, 3}
s1.intersection(s2)
{2, 3}
  1. 并集
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)相关推荐

  1. python基础 course2(内置函数、运算符)

    python基础 课程2 目录1. 内置函数的调用2. python中的变量3. 标准数据类型-数字类型4. 基础运算符5. 复合赋值运算符6. 比较运算符7. 逻辑运算符8. math科学计算库 函 ...

  2. Python基础十四——内置函数和匿名函数

    内置函数: 截止到 python 版本3.6.2,现在 python 一共提供了 68 个内置函数.     Built-in Functions     abs() dict() help() mi ...

  3. python基础入门:内置函数之排列组合函数教程

    product 笛卡尔积 (有放回抽样排列) permutations 排列 (不放回抽样排列) combinations 组合,没有重复 (不放回抽样组合) combinations_with_re ...

  4. python基础--字符串的内置函数

    1. bit_length()  获取对应字符串的比特长度,就是在内存的长度 举例: a = 5 b = a.bit_length() print(b)3 2. capitalize()   将首字母 ...

  5. 【Python养成】常用内置函数 — 2(详解25个内置函数)

    图片来自互联网 文章目录 前言 二.内置函数详解 1.函数:chr(x) 2.函数:dir([obj]) 3.函数:divmod(x,y) 4.函数:enumerate(sequence, [star ...

  6. python文档整理,Python官方文档内置函数整理Word版

    <Python官方文档内置函数整理Word版>由会员分享,可在线阅读,更多相关<Python官方文档内置函数整理Word版(6页珍藏版)>请在人人文库网上搜索. 1.传播优秀W ...

  7. Python标准库:内置函数dict(mapping, **kwarg)

    Python标准库:内置函数dict(mapping, **kwarg) 本函数是从一个映射函数对象构造一个新字典. 与dict(**kwarg)函数不一样的地方是參数输入是一个映射类型的函数对象,比 ...

  8. python匿名函数里用for_Python基础之(内置函数、匿名函数、递归)

    一.内置函数 1.1.作用域相关 locals() #以字典的类型返回当前位置的全部局部变量. globals() #以字典的类型返回全部全局变量. 1.2.迭代器生成器相关 range() #可创建 ...

  9. python列表内置函数

    文章目录 前言 一.列表的形象和本质 二.列表的内置函数 1.append(x) 2.insert(index,x) 3.反序的应用 4.remove(x).pop(index).clear() 5. ...

  10. python入门之函数调用内置函数_第九篇 python基础之函数,递归,内置函数

    阅读目录 一 数学定义的函数与python中的函数 二 为何使用函数 背景提要 三 函数和过程 四 函数参数 五 局部变量和全局变量 六 前向引用之'函数即变量' 七 嵌套函数和作用域 八 递归调用 ...

最新文章

  1. 多种数据DELPHI备份方式(源码)
  2. C++大师Lippman:我对中国程序员的忠告
  3. 直播技术(从服务端到客户端)二
  4. C/C++指针错误与调试相关学习总结
  5. java 08_java 08 权限修饰符 编译运行
  6. 用 docker-compose 启动 WebApi 和 SQL Server
  7. 怎么取消苹果手机自动续费_知乎会员怎样取消自动续费
  8. 查看linux中tcp连接数
  9. 【HDU5656】CA Loves GCD,容斥思想与乱搞
  10. java分隔符 字符串_我们如何使用Java分割带有任何空白字符作为分隔符的字符串?...
  11. php怎么访问到外部变量,从外部javascript fi访问PHP var
  12. href 和 src 区别
  13. mysql中文占两位_mysql 保留两位小数
  14. RPLIDAR激光雷达测试
  15. 基于STM32 LCD屏实现的俄罗斯方块小游戏(20220522完成 第一个综合类项目)
  16. 【C语言】飞翔的小鸟游戏
  17. 关于入门小白对java这种面向对象编程语言的封装、继承、多态的理解
  18. shopNC开发手册
  19. 对i++,i--,++i,--i深刻认识以及printf()函数打印的过程
  20. Microdata Wordpress,WORDPRESS使用微数据

热门文章

  1. tensorflow环境下的识别食物_在win10环境下进行tensorflow物体识别(ObjectDetection)训练...
  2. cesium 获取圆形边界位置_Cesium中级教程4 – 空间数据可视化(二)
  3. docker下载慢,卡顿解决办法——免费安装人人都有的docker加速器
  4. SQL注入——基于布尔的盲注(八)
  5. 教师计算机校本培训记录,信息技术教师个人校本培训总结
  6. 报头中的偏移量作用_C语言中函数的实现
  7. 仿微博国际版首页点击显示分组列表(popupwindow悬浮阴影效果)
  8. 如何将目录下几百个lib加入到vs项目属性下的链接器
  9. 编译maven_头条一面竟然问我Maven?
  10. openstack-5:安装rabbitmq