第二章Python序列-列表

这篇具有很好参考价值的文章主要介绍了第二章Python序列-列表。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

列表:

1.创建列表

(1)直接将一个列表对象赋给变量

>>> a=[1,2,3,4,5]
>>> a
[1, 2, 3, 4, 5]
>>> a_list=['a','b','mpilgrim','z','example']
>>> a_list
['a', 'b', 'mpilgrim', 'z', 'example']
>>> a_list=[]  #创建空列表
>>> a_list
[]
>>> 

(2)用list()将其他类型转化为列表

>>> a=list(range(1,10))  #范围是左闭右开的
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a=list(range(10))#省略1,从0开始
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a=list(range(1,10,2))#从1开始的奇数
>>> a
[1, 3, 5, 7, 9]

2.访问和修改

双向索引

(1)访问:通过索引

第二章Python序列-列表
>>> a
[1, 3, 5, 7, 9]
>>> a[0]
1
>>> a[-5]
1

(2)通过for语句

>>> a
[1, 3, 5, 7, 9]
>>> for data in a:
    print(data)

    
1
3
5
7
9

修改

3.列表元素的增加

(1)运算符 +(合并列表,生成一个新列表) +=(合并列表,原地操作) * (列表元素重复)

>>> x=[1,2,3,4,5,6]
>>> y=[4,7,8,5,6,9]
>>> id(x)#x地址
2439429513472
>>> id(y)#y地址
2439429650496
>>> z=x+y#合并列表
>>> z
[1, 2, 3, 4, 5, 6, 4, 7, 8, 5, 6, 9]
>>> type(z)#z的类型
<class 'list'>
>>> id(z)
2439426517760
>>> x=x+y
>>> x
[1, 2, 3, 4, 5, 6, 4, 7, 8, 5, 6, 9]
>>> id(x)
2439397895424
>>> x=[1,2,3,4,5,6]
>>> id(x)
2439429513472
>>> x+=y
>>> x
[1, 2, 3, 4, 5, 6, 4, 7, 8, 5, 6, 9]
>>> id(x)
2439429513472
>>> y
[4, 7, 8, 5, 6, 9]
>>> y*3
[4, 7, 8, 5, 6, 9, 4, 7, 8, 5, 6, 9, 4, 7, 8, 5, 6, 9]
>>> y   #y不变
[4, 7, 8, 5, 6, 9]

(2)append()方法

语法:append(object)

>>> y
[4, 7, 8, 5, 6, 9]
>>> y.append(0)   #原地修改列表,速度快,是真正意义上的在列表尾部添加元素,也是最推荐的方法
>>> y
[4, 7, 8, 5, 6, 9, 0]

(3)指定位置添加 insert()

语法:insert(index,object)

>>> y
[4, 7, 8, 5, 6, 9, 0]
>>> y.insert(3,1)   #在下标为3的位置上插入元素6,该位置之后的元素向后移动
>>> y
[4, 7, 8, 1, 5, 6, 9, 0]

(4)extend()可以将另一个可迭代对象的所有元素添加至该列表对象尾部

entend()方法来增加列表与元素也不会改变列表的内存首地址,属于原地操作、

>>> a
[1, 3, 5, 7, 9]
>>> id(a)
2439429649024
>>> a.extend([7,8,9])
>>> a
[1, 3, 5, 7, 9, 7, 8, 9]
>>> id(a)
2439429649024

4.列表元素的删除

(1) del命令

使用del命令删除列表中指定位置上的元素,后面的元素自动向前移动

>>> a
[1, 3, 5, 7, 9, 7, 8, 9]
>>> del a[1]
>>> a
[1, 5, 7, 9, 7, 8, 9]

(2) remove() 删除首次出现的指定元素

>>> a
[1, 5, 7, 9, 7, 8, 9]
>>> a.remove(7)  #删除第一个7
>>> a
[1, 5, 9, 7, 8, 9]
循环+remove()
>>> x=[1,2,1,2,1,2,1,2,1]
>>> for i in x:
    if i==1:
        x.remove(i)

        
>>> x
[2, 2, 2, 2]

(3) pop()方法 pop([index])

删除并返回指定(默认为最后一个)位置上的元素,如果给定的索引超出列表的范围,则抛出异常

>>> a
[1, 5, 9, 7, 8, 9]
>>> a.pop()  #默认删除最后一个
9
>>> a
[1, 5, 9, 7, 8]
>>> a.pop(1)  #删除下标为1的值
5
>>> a
[1, 9, 7, 8]

(4) clear()方法:删除列表对象中所有元素

>>> a=[1,2]
>>> a.clear
>>> y
    []

5.查找、 计数、成员判定

(1)查找:index()

>>> a
[1, 2, 3, 1, 6, 5, 1, 4, 5, 1, 2, 6]
>>> a.index(2)   #首次出现的缩引
1
>>> a.index(6)
4

(2)计数: count()\

>>> a
[1, 2, 3, 1, 6, 5, 1, 4, 5, 1, 2, 6]
>>> a.count(1)
4
>>> a.count(0)
0

(3)成员判定 in not in

>>> a
[1, 2, 3, 1, 6, 5, 1, 4, 5, 1, 2, 6]
>>> 1 not in a
False
>>> 0 not in a
True

6.切片操作

切片操作是python中有序序列的重要操作之一,适用于列表,元组,字符串,range对象等类型。

语法:[start:stop:stop]

第一个数字表示切片的开始位置(默认为0)

第二个数字表示切片的截至(但不包含)位置(默认为列表长度)

第三个数字表示切片的步长(默认为1),当步长省略时=可以顺便省略最后一个冒号

切片的作用:

  • 截取列表中任何部分得到一个新的列表
>>> a=[3,4,5,6,7,9,11,13,15,17]
>>> a[::]
[3, 4, 5, 6, 7, 9, 11, 13, 15, 17]
>>> a[::-1]   #步长为负数,从右向左切,得到反向副本
[17, 15, 13, 11, 9, 7, 6, 5, 4, 3]
>>> a[::2]  #下标从0开始隔一个元素取一个元素
[3, 5, 7, 11, 15]
>>> a[1::2]  #下标从1开始,隔一个元素取一个元素
[4, 6, 9, 13, 17]
>>> a[3::]   #下标从3开始往后的所有元素
[6, 7, 9, 11, 13, 15, 17]
>>> a[3:6]  #下标范围介于[3,6)元素
[6, 7, 9]
>>> a[3:6:1]
[6, 7, 9]
>>> a[0:100:1]  #在尾部截断不会抛出异常
[3, 4, 5, 6, 7, 9, 11, 13, 15, 17]
>>> a[100:]
[]
  • 修改和删除列表中的部分元素
  • 为列表对象增加元素
>>> a=[1,2,3]
>>> a[len(a):]=[9]  #在尾部追加元素
>>> a
[1, 2, 3, 9]
>>> a[:3]=[1,2,3]  #替换前三个元素
>>> a
[1, 2, 3, 9]
>>> a[:3]=[]  #删除前三个元素
>>> a
[9]

7.排序与逆排序

使用自身提供的sort()方法可以进行原地操作

>>> a=[3,4,5,6,7,8,9,11,23,45]
>>> import random
>>> random.shuffle(a)   #随机打乱顺序
>>> a
[6, 5, 45, 3, 11, 7, 4, 9, 23, 8]
>>> a.sort()  #默认为升序排序
>>> a
[3, 4, 5, 6, 7, 8, 9, 11, 23, 45]
>>> a.sort(reverse=True)
>>> a
[45, 23, 11, 9, 8, 7, 6, 5, 4, 3]
>>> a.sort(key=lambda x:len(str(x)))  #按转换为字符串后的长度排序
>>> a
[9, 8, 7, 6, 5, 4, 3, 45, 23, 11]

8.内置函数:sorted sum max min len

  1. sorted()

sorted()对列表进行排序,与列表对象的sort()方法不同,内置函数sorted()返回新的列表,并不对原列表进行任何修改

>>> a
[9, 8, 7, 6, 5, 4, 3, 45, 23, 11]
>>> sorted(a)  #进行排序
[3, 4, 5, 6, 7, 8, 9, 11, 23, 45]
>>> sorted(a,reverse=True)  #降序排列
[45, 23, 11, 9, 8, 7, 6, 5, 4, 3]
>>> a
[9, 8, 7, 6, 5, 4, 3, 45, 23, 11]

2.sum(列表)

对列表元素进行求和运算

同样也适用于元组,集合,range对象,字典,以及map对象和filter对象等等

>>> a
[9, 8, 7, 6, 5, 4, 3, 45, 23, 11]
>>> sum(a)  #元组求和
121
>>> a={1:1,2:5,3:8}  #对字典的“键”进行求和
>>> sum(a)
6
>>> sum(a.values())
14
>>> sum([[1],[2]],[])  #元素不是数值时需要指定第二个参数
[1, 2]

3.max min

返回列表中最大最小元素

同样适用于元组,字符串,集合,range对象,字典和迭代器对象等等

>>> a=[3,4,5,6,7,8,9,11,23,45]
>>> max(a)
45
>>> min(a)
3

4.len()

返回列表中的个数,同样适用于元组,字典,集合,字符串和range对象文章来源地址https://www.toymoban.com/news/detail-410072.html

>>> a
[3, 4, 5, 6, 7, 8, 9, 11, 23, 45]
>>> len(a)
10

到了这里,关于第二章Python序列-列表的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Django学习笔记:第二章django的安装和创建应用

    终端运行 查看django是否安装成功 在控制台运行 在特定文件夹内打开终端运行 生成 进入上图的Scripts文件夹内,打开终端 先正常安装VSCode 再安装python插件 安装Django插件,搜索django,安装前两个 特点 功能完善,开发速度快,安全性强 有完善的在线文档 模型自带数据库ORM组件

    2024年02月16日
    浏览(37)
  • 诙谐有趣的《UVM实战》笔记——第二章 一个简单的UVM验证平台

    某天白天在地铁上听鬼故事,结果晚上要睡觉时,故事里的情节都历历在目,给我鸡皮疙瘩起的~ 不过我倒是没有吓得睡不着,而是转念一想,为啥我学知识忘得很快,随便听的鬼故事却记得这么清楚咧? 那如果能像听鬼故事那样去学知识,是不是可以记得更牢固呢? 经过一

    2024年02月08日
    浏览(53)
  • 第二章python基础语法1

    pritnt)(输出内容后,默认会换行。要使其不换行, 则使用print(\\\'test\\\',end=\\\') 。事实上end可以是其他内容,会加在\\\'test\\\'的后面。 iput()方法返回的默认值类型是字符串,有需要的话,显性转化为数值或其他类型。 python有单行注释和多行注释。 a、单行注释# b、多行注释\\\"\\\"\\\'\\\'...\\\"\\\'\\\'\\\' 变量

    2024年02月11日
    浏览(28)
  • 【头歌-Python】Python第二章作业(初级)

    任务描述 输入的三角形的三条边a、b、c 的长度,计算并依次输出三角形的周长和面积,结果严格保留2位小数。测试用例的数据保证三角形三边数据可以构成三角形。 三角形面积计算公式: ,其中s=(a+b+c)/2。 输入格式 分三行输入 3 个浮点数,表示三角形的三个边长 输出格式

    2024年03月24日
    浏览(77)
  • 《python语言程序设计基础》(第二版)第二章课后习题参考答案

    第二章 Python程序实例解析 2.1 温度转换 2.2 汇率兑换 优化: 优化的主要改动: 将货币符号和金额分离出来,使代码更加清晰易读。 将条件判断改为根据货币符号进行判断,避免重复判断。 2.3 绘制彩色蟒蛇 2.4 等边三角形的绘制 代码一: 代码二: 2.5 叠加等边三角形的绘制

    2024年03月19日
    浏览(44)
  • Python基础练习题--第二章 顺序结构

    目录 1007:【例2.1】交换a和B的值 1008:【例2.2】打招呼Hello 1009:【例2.3】购买笔记本 1010:【例2.4】最适宜运动心率 1011:【例2.5】求3个整数的和 1012:练2.1  小明买图书 1013:练2.2  鸡兔同笼 1014:练2.3  求平均分 1015:【例2.6】数字对调 1016:【例2.7】BMI指数 1017:练2.4  与

    2024年02月09日
    浏览(69)
  • 第二章:25+ Python 数据操作教程(第二十二节如何从 R 调用或运行 python)持续更新

    本文介绍了如何从 R 调用或运行 python。这两种工具都有自己的优点和缺点。使用这两个工具中最好的包和功能并将其组合起来总是一个好主意。在数据科学领域,这些工具在使用方面拥有良好的市场份额。R 主要以数据分析、统计建模和可视化而闻名。而Python在深度学习和自

    2024年02月07日
    浏览(39)
  • 头歌实践教学平台Python-Python第二章作业(初级)

    第1关:三角形周长及面积 任务描述 输入的三角形的三条边a、b、c 的长度,计算并依次输出三角形的周长和面积,结果严格保留2位小数。测试用例的数据保证三角形三边数据可以构成三角形。 三角形面积计算公式: ,其中s=(a+b+c)/2。  第2关:三角函数计算 根据下面公式 计

    2024年02月08日
    浏览(127)
  • 【全解析 | PTA】浙大版《Python 程序设计》题目集-第二章

    一、判断题 1. 输入正整数6和5,要求和,6+66+666+6666+66666,下面程序正确吗? F     a=int(input())        n=int(input())        print(sum([int(\\\'a\\\'*i) for i in range(1,n+1)]))         在代码中,使用了字符串 ‘a’ 而不是变量 a 的值是因为字符串 ‘a’ 在引号内被视为文本常量,而不是变

    2024年03月12日
    浏览(218)
  • 【第二章】docker +Jenkins+git+allure+python3安装

    上一篇说Jenkins容器中安装python3,这篇主要讲解跑测jenkins时 按照提示路径查找密钥 安装插件,错误没事,进入后直接更改站点路径即可 将站点路径更新,这里还可以更改成别的 2、修改配置文件 3、重启jenkins 重启后安装插件 最新版本的jenkins直接安装下图,重新启动Jenkins

    2024年02月04日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包