1、列表的创建

列表是多个、有序、可重复的元素集合,数据包装在“[]”里,列表中的元素可以是任何类型,甚至可以是一个列表。
创建列表有两种方法:

A 对于规模比较小的列表可以直接定义和赋值,列表可以嵌套,即列表里面的元素可以是列表,列表中的元素数据类型可以不一致。

    name = ["", 2020, True, ["雨花台区", ""]]
print(name)
# 结果:['123', 2020, True, ['雨花台区', '4']]

B 利用列表生成式快速生成列表range(start, end, step)

    list1 = range(1, 10000, 2)
print(list1)
# 结果:range(1, 10000, 2)
2、列表的增加:

有三种方法:

A append() 追加

在Python中append 用来向 list 的末尾追加单个元素,此元素如果是一个list,那么这个list将作为一个整体进行追

    name = ["", 2020, True, ["雨花台区", ""]]
name.append(False)
name.append(["春江新城", "饮溪坊"])
print(name)
# 结果:['123', 2020, True, ['雨花台区', '4'], False, ['春江新城', '饮溪坊']]

B insert(位置,插入的元素) 插入

在Python中 insert 用来将单个元素插入到 list 中。第1个参数是个数值,是插入点的索引,即从什么地方增加元素。

    name = ["", 2020, True]
name.insert(2, "南京市")
print(name)
# 结果:['123', 2020, '南京市', True]

C extend() 延长
在Python中 extend 用来连接 list,在列表的末尾一次性追加另一个序列中的多个值,用新列表扩展原来的列表。

    name = ["", 2020, True]
name.extend([3, 5, 7])
print(name)
# 结果:['123', 2020, True, 3, 5, 7]
3、列表的删除:

有三种方法:pop(),remove(),del 列表[下标]
A pop(索引值)
如果参数为空,则默认删除最后一个元素,并返回该元素的值;若有参数,则返回该索引位置对应的元素。

    name = ["", 2020, True]
print(name.pop())
# 结果:True
name = ["", 2020, True]
print(name.pop(1))
# 结果:2020

B remove(元素)
移除列表中的第一个匹配元素,如果元素在列表中,则删除第一个匹配元素;如果元素不在列表中,则会报错。

    name = ["", 2020, True, ["雨花台区", ""]]
name.remove(["雨花台区", ""])
print(name)
# 结果:['123', 2020, True]
C del 列表名[索引]
    name = ["", 2020, True, ["雨花台区", ""]]
del name[2]
print(name)
# 结果:['123', 2020, ['雨花台区', '4']]
4、列表的修改:

有二种方法:
A 重新赋值

    name = ["", 2020, True, ["雨花台区", ""]]
name = [888]
print(name)
# 结果:[888]

B 通过列表下标来修改列表的元素

    name = ["", 2020, True, ["雨花台区", ""]]
name[2] = False
print(name)
# 结果:['123', 2020, False, ['雨花台区', '4']]
5、列表的查找:

有三种方法:
A 通过索引来查找

    name = ["", 2020, True, ["雨花台区", ""]]
print(name[3])
# 结果:['雨花台区', '4']

B 用in 成员运算符来查找

    name = ["", 2020, True, ["雨花台区", ""]]
x = True
if x in name:
print("这个元素是存在的")
# 结果:这个元素是存在的

C 通过切片方式来查找

list的[]中有三个参数,用冒号分割,list=[参数1,参数2,步长]
参数1为index start,参数1为index end,这两个参数也可以是负数。参数为正,当前参数从0开始,从左向右开始数;参数为负,当前参数从-1开始,从右向左开始数。
切片不仅可以切取连续的序列,也可以每隔几个元素切取一个元素,这个间隔的数字就是步长。在使用步长切片时步长的长度值写到最后即可。

通过切片查询

a = ["you", "are", "a", "good", "man", "."]
print(a[3])
# 表示截取下标为3的元素,结果:good 类型为字符串 print(a[1:5])
# 表示截取从下标1到下标3,但不包括下标3的元素,结果:['are', 'a', 'good', 'man'] print(a[1:-4])
# 第1和第2个参数都可以是负数,只需要第二个索引所代表的元素位于第一个索引代表的元素的后面即可, 结果为['are'] print(a[1])
#结果为are print(a[-2])
#结果为man print(a[1:-2])
#结果为['are', 'a', 'good'] 顾前不顾后的原则。
# 1 从左向右开始数0 1,结果包含1;-2 从右向左开始数 -1 -2,结果不包含-2。

步长:

如果开始的时候下标是1 设置的步长是2 ,那么就是取下标是1 的数据, 还会取 1+步长(2) =3 那么会取下标是3 的数据。再往后就是结果3+步长(2)=5,系统会取下标是5 的数据, 在往后的话就是结果5+步长(2) =7 系统就会取下标是7的数据。
步长为正数,从左向右切,步长为负数,从右向左切。通过在开始序号和步长前加负号来改变是从前面切还是从后面切,开始序号应与步长保持符号一致性。切片的特性:一,其默认第一个字符的序号为0。二,顾头不顾尾,开始序号的字符会保留,但结束序号的字符不会保留,只会保留到结束序号的前一个字符。

微信公众号刷阅读流量  https://www.douban.com/group/topic/162687100/  https://www.tujiebar.com  途杰吧

a = ["you", "are", "a", "good", "man", "."]
# 步长为正,打印的结果是从左到右,步长为负,打印的结果是从右到左
print(a[::1])
# 结果:['you', 'are', 'a', 'good', 'man', '.'] print(a[::-1])
# 结果:['.', 'man', 'good', 'a', 'are', 'you'] print(a[::2])
# 步长为2,就是第1个打印数据是起始下标,第2个数据是(起始下标+2),
# 结果:['you', 'a', 'man'] print(a[::-2])
# 结果:['.', 'good', 'are'] print(a[4:1:-1])
# 步长为负,第1个参数数值要比第2个参数数值要大,否则结果为空。步长为负,前面的两个参数,是从右向左开始数
# 结果:['man', 'good', 'a'] print(a[-1:-5:-1])
# 结果:['.', 'man', 'good', 'a'] print(a[-1:-5:-2])
# 结果:['.', 'good'] print(a[-5:-1:2])
# 这里步长是2,第1个参数是-5,即“are”,第2个参数是-1,即“.”, 由于步长是正数,根据左开右闭原则,第2个参数“.”,不包括在内,
# 截取的范围是: "are", "a", "good", "man",步长为2,# 第一个打印结果为"are",第二个打印结果是下标(1+2),即"good"。
# 结果:['are', 'good']
6、列表的其他用法:

A count(元素)

a = ["you", "are", "a", "good", "man", "."]
print(a.count("a"))
结果:1 表示"a"这个元素在列表a中出现了1次

B index(元素)

print(a.index("a"))
# 结果:2 表示"a"这个元素下标为2

C in 判断列表中是否存在某元素

b = "are"
print(b in a)
结果:True

D sort()

按照指定规则对所有元素进行排序,默认规则是直接比较规则大小。不能直接打印排序,必须要重新赋值

c = [1,6,2,7,9,434,76,43]
c.sort()
print(c)
# 结果:[1, 2, 6, 7, 9, 43, 76, 434]
c.sort(reverse=True)
print(c)
# 结果:[434, 76, 43, 9, 7, 6, 2, 1]

E sorted()
对列表进行排序并返回新列表,不对原列表做任何修改。

c = [1,6,2,7,9,434,76,43,32]
print(sorted(c))
# 结果:[1, 2, 6, 7, 9, 32, 43, 76, 434]
7、常用的内置函数

len():返回列表中的元素个数,同样适用于元组、字典、集合、字符串等。

c = [1,6,2,7,9,434,76,43]
print(len(c))
# 结果:9

max() min()
返回列表中的最大或最小元素,同样适用于元组、字典、集合、range对象等。

sum()
对列表的元素进行求和运算。

8、列表的遍历:
有3种方法:

A enumerate()
枚举列表元素,返回枚举对象,其中每个元素为包含下标和值的元组。该函数对元组、字符串同样有效。

a = ["you", "are", "a", "good", "man", "."]
for x in enumerate(a):
print(x)
#结果:
(0, 'you')
(1, 'are')
(2, 'a')
(3, 'good')
(4, 'man')
(5, '.')

B for in 方法

a = ["you", "are", "a", "good", "man", "."]
for x in a:
print(x) # 结果:
you
are
a
good
man
.

C for … in range(len(某列表))

a = ["you", "are", "a", "good", "man", "."]
for x in range(len(a)):
print(x, a[x])

9、列表推导式:
[表达式 for 变量 in 序列或迭代对象]

列表推导式的执行顺序:各语句之间是嵌套关系,左边第二个语句是最外层,依次往右进一层,左边第一条语句是最后一层。
它的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是 0 个或多个 for 或者 if 语句。那个表达式可以是任意的,意思是你可以在列表中放入任意类型的对象。返回结果将是一个新的列表,在这个以 if 和 for 语句为上下文的表达式运行完成之后产生。

[x*y for x in range(1,5) if x > 2 for y in range(1,4) if y < 3]

等同于下面:

for x in range(1,5):
if x > 2:
for y in range(1,4):
if y < 3:
print(x*y)

【干货】Python基础——列表的更多相关文章

  1. python基础——列表生成式

    python基础——列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 举个例子,要生成list [1, 2, 3, 4 ...

  2. python基础——列表推导式

    python基础--列表推导式 1 列表推导式定义 列表推导式能非常简洁的构造一个新列表:只用一条简洁的表达式即可对得到的元素进行转换变形 2 列表推导式语法 基本格式如下: [expr for va ...

  3. Python基础------列表,元组的调用方法

    Python基础------列表,元组的调用方法@@@ 一. 列表 Python中的列表和歌曲列表类似,也是由一系列的按特定顺序排列的元素组成的,在内容上,可以将整数,实数,字符串,列表,元组等任何类 ...

  4. Python基础-列表、元组、字典、字符串

    Python基础-列表.元组.字典.字符串   多维数组 nums1 = [1,2,3] #一维数组 nums2 = [1,2,3,[4,56]] #二维数组 nums3 = [1,2,3,4,['a ...

  5. Python基础 列表介绍、使用

    第3章 学习目标: 列表是什么以及如何使用列表元素.列表让你能够在一个地方存储成组的信息,其中可以只包含几个元素,也可以包含数百万个元素.列表是新手可直接使用的最强大的Python功能之一,它融合了众 ...

  6. python基础——列表

    Python列表脚本操作符 列表对 + 和 * 的操作符与字符串相似.+ 号用于组合列表,* 号用于重复列表. 如下所示: Python 表达式 结果 描述 len([1, 2, 3]) 3 长度 [ ...

  7. Python基础-列表推导式

    python中列表推导式有三种数据类型可用:列表,字典,集合 列表推导式书写形式: [表达式 for 变量 in 列表]    或者  [表达式 for 变量 in 列表 if 条件] 1,列表推导式 ...

  8. Python基础——列表、元组操作

    列表.元组操作 列表: 列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型.列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0 ...

  9. Python基础-列表_元组_字典_集合

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...

随机推荐

  1. Vue+elementUI 自定义动态数据菜单导航组件实现展开收缩+路由跳转router-view渲染数据 路由跳转到同一个页面带参数ID 自动刷新数据

    准备:导入ElementUI 看官网教程 数据准备:JSON数据转换成树状 参考文章: JS实现 JSON扁平数据转换树状数据 后台我拿的数据是这样的格式: [ {id:1 , parentId: 0 ...

  2. 深入Node.js的进程与子进程:从文档到实践

    欢迎关注Github仓库,这是一个自2018年起持续更新的前端&算法开源博客.目前已有node学习.js面试笔记.css3动画设计.webpack4系列教程.设计模式.剑指offer·js版等 ...

  3. Shell脚本深入教程(1):快速入门

    Shell脚本基础入门 Bash注释 Bash只支持单行注释,使用#开头的都被当作注释语句: # 整行注释 echo hello world # 行尾注释 通过Bash的一些特性,可以取巧实现多行注释 ...

  4. 【编程的乐趣-用python解算法谜题系列】谜题一 保持一致

    谜题一 保持一致 谜题 假设有一大群人排队等待观看棒球比赛.他们都是主场球迷,每个人都戴着队帽,但不是所有人都用同一种戴法,有些人正着戴,有些人反着戴. 假定你是保安,只有在全组球迷帽子戴法一致时才能 ...

  5. json通过后台获取数据库中的内容,并在前端进行显示

    fastjson.jar以及Echarts树图的js文件(需要在servlet对json进行赋值,所以需要用到json的插件) 链接:https://pan.baidu.com/s/1GBbamPNG ...

  6. 暑假第五周总结(学习HBASE相关知识)

    本周主要对HBASE的相关知识进行了学习,主要是通过视频的讲解了解到了HBASE的存储机制,HBASE的机制与普通的关系型数据库完全不同,HBASE以列进行存储,其主要执行的就是增删查操作,其更改主要 ...

  7. webpack--运行npm run dev自动打开浏览器运行首页的两种方式以及热加载

    作为开发人员,我们在修改了代码之后,在vscode终端运行npm run dev指令后,希望它可以自动打开浏览器方便我们调试,有两种方式可以实现: 自动打开浏览器的两种方式: 方式一: 1.webpa ...

  8. js中 call() 和 apply() 方法的区别和用法详解

    1.定义 每个函数都包含俩个非继承而来的方法:call() 和 apply()   call 和 apply 可以用来重新定义函数的的执行环境,也就是 this 的指向:call 和 apply 都是 ...

  9. 第一篇:Vue基础

    Vue基础 渐进式JavaScript框架 通过对框架的了解与运用程度,来决定其在整个项目中的应用范围,最终可以独立以框架方式完成整个web前端项目 走进Vue 什么是Vue 渐进式JavaScrip ...

  10. springboot使用servlet

    基于注解方式: 基于配置类: