1.定义

列表的关键字:list

列表以[]括起来,数据之间用 , 隔开。列表当中的数据,可以是任意类型。数值是可以重复的。

列表元素是 可变的,顺序是 有序的。

例如:

b = ["萝卜", "jason", "1234", True]

使用列表的生成式语法来创建列表:
def main():
f1 = [x for x in range(1, 10)]
print(f1)
f2 = [x + y for x in 'ABC' for y in '123']
print(f2)
# 用列表的生成表达式语法创建列表容器
# 用这种语法创建列表之后元素已经准备就绪所以需要耗费较多的内存空间
f3 = [x ** 2 for x in range(1, 10)]
print(f3) if __name__ == '__main__':
main() 结果:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
['A1', 'A2', 'A3', 'B1', 'B2', 'B3', 'C1', 'C2', 'C3']
[1, 4, 9, 16, 25, 36, 49, 64, 81]

2.列表的查询

取值:

读取列表中的数据时,索引默认从0开始,倒序是从-1开始。

语法:列表名称[索引]

例如:

b = ["萝卜", "jason", "1234", True]
print(b[1])
print(b[-2]) 结果:
jason
1234

取索引:

获取列表元素的索引时,直接通过元素来获取索引值。

语法:列表名称.index(元素值)

例如:

# 列表名称.index(元素值)
b = ["萝卜", "jason", 1234, True]
print(b.index("jason")) 结果:
1

3.列表的新增

列表的新增是从列表最后追加数据 。

语法:  列表变量名.append(数值)

例如:

b = ["萝卜", "jason", "1234", True]
b.append("小星星")
print(b) 结果:
['萝卜', 'jason', '1234', True, '小星星']

4.列表的修改

列表的修改需要指定修改的索引,即对列表元素的从新赋值。

语法:list[索引] = 新的值

例如:

b = ["萝卜", "jason", "1234", True, "小星星"]
b[3] = "魔道祖师" # 给列表中对应的位置,重新赋值。
print(b) 结果:
['萝卜', 'jason', '1234', '魔道祖师', '小星星']

5.列表元素的删除

语法: 列表变量名.remove(值)、del 列表变量名[索引]、 列表变量名.pop(索引)

例如:

# 列表变量名.remove(值)
b = ["萝卜", "jason", "1234", "魔道祖师", "小星星"]
b.remove("魔道祖师")
print(b) # del 列表变量名[索引]
b = ["萝卜", "jason", "1234", "魔道祖师", "小星星"]
del b[3]
print(b) # 列表变量名.pop(索引)
b = ["萝卜", "jason", "1234", "魔道祖师", "小星星"]
b.pop(3)
print(b) 结果:
['萝卜', 'jason', '1234', '小星星']
['萝卜', 'jason', '1234', '小星星']
['萝卜', 'jason', '1234', '小星星']

6.列表元素的插入

语法:列表变量名.insert(索引,数据)

例如:

b = ["萝卜", "jason", "1234", "魔道祖师", "小星星"]
b.insert(2, "飞扬")
print(b) 结果:
['萝卜', 'jason', '飞扬', '1234', '魔道祖师', '小星星']

7.列表的排序

列表升序使用:sort()

列表降序使用:sort(reverse=True)

列表倒序使用:reverse()

例如:

# 升序sort()
c = [89,12,44,5,863,455]
c.sort()
print(c) # 降序排序sort(reverse=True)
c = [89,12,44,5,863,455]
c.sort(reverse=True)
print(c) # 倒序reverse()
c = [89,12,44,5,863,455]
c.reverse()
print(c) 结果:
[5, 12, 44, 89, 455, 863]
[863, 455, 89, 44, 12, 5]
[455, 863, 5, 44, 12, 89]

8.列表的合并

方式一:

列表的合并可以直接使用+号进行合并

列表A + 列表B

例如:

b = ["萝卜", "jason", "1234", "魔道祖师", "小星星"]
c = [89,12,44,5,863,455]
d = b + c
print(d) 结果:
['萝卜', 'jason', '1234', '魔道祖师', '小星星', 89, 12, 44, 5, 863, 455]

方式二:

通过extend 把一个列表的内容追加到另一个列表的末尾

语法:列表变量名A.extend(列表变量名B)

例如:

# 列表变量名A.extend(列表变量名B)
b = ["萝卜", "jason", "1234", "魔道祖师", "小星星"]
c = [89,12,44,5,863,455]
b.extend(c)
print(b) 结果:
['萝卜', 'jason', '1234', '魔道祖师', '小星星', 89, 12, 44, 5, 863, 455]

9.清空整个列表

清空整个列表使用 chear

例如:

b = ["萝卜", "jason", "1234", "魔道祖师", "小星星"]
b.clear()
print(b) 结果:
[]

(02)-Python3之--列表(list)操作的更多相关文章

  1. python3.*之列表常用操作

    首先定义一个列表:names= ["xiaoming","xiaogang","xiaomei","xiaohong"] ...

  2. Python3.x:SQLAlchemy操作数据库

    Python3.x:SQLAlchemy操作数据库 前言 SQLAlchemy是一个ORM框架(Object Rational Mapping,对象关系映射),它可以帮助我们更加优雅.更加高效的实现数 ...

  3. Python3 IO编程之操作文件和目录

    如果我们要操作文件,目录,可以在命令行下面输入操作系统提供的各种命令来完成.比如ls,cp等命令 如果要在python程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令指示简单地调用了操作系 ...

  4. [Python3] 005 列表的基本使用

    目录 1. 列表概述 2. 创建列表 3. 列表常用操作 (1) 访问列表 (2) 分片操作 1) 正向操作 2) 反向操作 3) 内置函数 id() 加入队伍 1. 列表概述 一组有顺序的数据的组合 ...

  5. python学习04——列表的操作

    笨办法学python第38节 如何创建列表在第32节,形式如下: 本节主要是讲对列表的操作,首先讲了 mystuff.append('hello') 的工作原理,我的理解是,首先Python找到mys ...

  6. (转载)Python 列表(list)操作

    (转载)http://blog.csdn.net/facevoid/article/details/5338048 创建列表sample_list = ['a',1,('a','b')] Python ...

  7. Python基础学习8---list列表的操作

    a_list = ['hello','world',1,'shanghai',3.99] #列表添加操作的4种方法 #1. 通过+ 字符来拼接 a_list = a_list + [1,'wuhan' ...

  8. 用Vue实现状态列表的操作涵盖所有的知识点

    用Vue实现状态列表的操作涵盖所有的知识点

  9. python字符串,列表常用操作

    24天养成一个好习惯,第五天! 一.字符串需要掌握的操作 1.取值(索引取值)需要注意的是只能取,不能改 msg = 'hello world' print(msg[4]) 2.切片(顾头不顾尾) m ...

随机推荐

  1. C#中的深度学习(四):使用Keras.NET识别硬币

    在本文中,我们将研究一个卷积神经网络来解决硬币识别问题,并且我们将在Keras.NET中实现一个卷积神经网络. 在这里,我们将介绍卷积神经网络(CNN),并提出一个CNN的架构,我们将训练它来识别硬币 ...

  2. RPC 核心,万变不离其宗

    微信搜 「yes的练级攻略」干货满满,不然来掐我,回复[123]一份20W字的算法刷题笔记等你来领. 个人文章汇总:https://github.com/yessimida/yes 欢迎 star ! ...

  3. Java与C#

    Java和C#都是编程的语言,它们是两个不同方向的两种语言 相同点: 他们都是面向对象的语言,也就是说,它们都能实现面向对象的思想(封装,继承,多态) 区别: 1.c#中的命名空间是namespace ...

  4. 基于frp的内网穿透实例1-通过SSH访问内网机器

    原文地址:https://wuter.cn/1804.html/ 老母鸡终于到了,作为一个能运行linux系统的四核1G硬件,它还是比较小巧的. FRP 全名:Fast Reverse Proxy.F ...

  5. Hyperledger fabric-SDK-GO客户端开发篇(六)

    Hyperledger fabric-SDK-GO客户端开发篇(六) Fabric-SDK-GO是提供的Go语言开发包,应用程序可以利用Fabric-SDK-GO与fabric网络进行交互并访问链码. ...

  6. 诡异的NPE--三目运算自动类型转换

    今天在项目中碰到一个诡异的空指针异常的问题,刚开始很不解,明明自己做了空判断,为什么还是出现了空指针呢? 最后排查出来的原因是:三目运算符的自动类型匹配机制. 现场 java.lang.NullPoi ...

  7. AndroidSDK安装选项说明

    前言:本文的目的在于了解AndroidSDK相关安装选项,正确根据自身需要选择性安装,避免安装过多无用的东西导致硬盘爆满. 1. AndroidSDK安装选项说明,如上图. 2. 实际游戏打包使用到A ...

  8. offset()与position()的区别

    jQuery中有两个获取元素位置的方法offset()和position(),两者的定义如下: offset(): 获取匹配元素在当前视口的相对偏移. 返回的对象包含两个整形属性:top 和 left ...

  9. 关于ajax 异步文件上传 node 文件后台接口

    <body> <img src="" alt="" id="img"> <input type="f ...

  10. Kubernetes K8S之CPU和内存资源限制详解

    Kubernetes K8S之CPU和内存资源限制详解 Pod资源限制 备注:CPU单位换算:100m CPU,100 milliCPU 和 0.1 CPU 都相同:精度不能超过 1m.1000m C ...