Python list(列表)

Python一共有6种序列的内置类型,list和tuple是其中最常见的。6种序列的都可以进行的操作包括索引、切片,加(实际上是连接),乘(实际上是复制),检查成员是否存在。

Python list

list格式:以大括号作为识别符, 元素之间以”,”间隔, 末尾加不加”;”语法上都没错。

list = [元素1,元素2,…]; //;可省略

list的元素可以是任何数据类型,也可以是另一个list(即类型多维数组那样的嵌套类型)。

其他语言里面的数组严格限定序列里面的元素必须是同种元素,但是请注意,虽然list跟数组有操作重叠的地方,但与数组(即线性表)是完全不同的数据结构。

list1 = ['apple', 'banana', 'cabbage'];
list2 = [1, 2, 3, 4]
list3 = ['one', 2, True, 3.14];
list4 = ['abc', list1, list2];
#list里面的元素可以是同种元素 也可以是不同种元素 还可以是另一个list

基本操作

list中每个元素都分配了一个索引,从0开始,类似数组的下标,可以利用索引实现随机存取和更改。

>>> list = ['a', 'b', 'c', 'd']
>>> list[1]
'b'
>>> list[1] = 'g'
>>> list[1]
'g'
>>> del list[1] #del可以用来删除其中的元素
>>> list
['a', 'c', 'd']

Python更为优越的是,可以利用负数索引反向读取,即-1表示倒数第一个,以此类推。除此之外还可以进行截取操作。

>>> list = ['a', 'b', 'c', 'd']
>>> list[-1]
'd'
>>> list[1:]
['b', 'c', 'd']

当使用不存在的元素的索引时,会报错。

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range
#事实上,最后一行英文的翻译为:索引错误: list索引超出范围。英文好事半功倍。

Python list 脚本操作符

Python表达式

结果

描述

len([1, 2, 3,4])

4

求list长度

[1, 2, 3] + ['a', 'b', 'c']

[1, 2, 3, 'a', 'b', 'c']

“+”实际上是连接

['a'] * 3

['a','a','a']

“*” 实际上是复制

3 in [1, 2, 3, 4]

True

检查成员是否存在

for i in [1, 2, 3, 4] print(x)

1 2 3 4

迭代

Python list 函数&方法

Python内置以下操作list的函数:

函数

说明

cmp(list1, list2)

比较两个列表的元素,比较方法与其他语言字符串的比较相同。

len(list)

求列表元素个数。

max(list)

返回列表元素最大值

min(list)

返回列表元素最小值

list(tuple)

将元组转换为列表

Python list包含以下方法:

方法

说明

list.append(obj)

在列表末尾添加新的对象

list.count(obj)

统计某个元素在列表中出现的次数

list.extend(seq)

在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

list.index(obj)

列表中找出某个值第一个匹配项的索引位置

list.insert(index, obj)

将对象插入列表

list.pop(obj=list[-1])

移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

list.remove(obj)

移除列表中某个值的第一个匹配项

list.reverse()

反向列表中元素

list.sort([func])

对原列表进行排序

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Petrichor的专栏

python: dict(字典) 操作

删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。

18320
来自专栏java技术学习之道

最详细的java泛型详解

20950
来自专栏牛肉圆粉不加葱

[4] - 类和对象之基础

Scala 中以 class 来作为类的声明,在类中可以定义成员和方法,成员和方法可以有不同的可见性(这个会在后文详述)。

9910
来自专栏浪淘沙

实训day05--静态,继承

2018.06.08 1.private关键字 权限修饰符 修饰类,方法,属性,构造函数 最常用的形式: 把成员变量用pri...

12150
来自专栏运维技术迷

连仕彤博客[Python笔记] 判断0-9数字在字符串中出现的次数

要求 给定一些数字(0-9范围之间),判断数字在字符串中出现的次数。 例子的排序是依照算法的效率(时间复杂度)从低到高 例子1   # 定义数字 num = ...

42270
来自专栏C#

解析C#类中的构造函数

《解析C#类中的构造函数》 一.  C#中的构造函数概述: C#中类包含数据成员和函数成员。函数成员提供了操作类中数据的某些功能,包括方法、属性、构造器和终结器...

21550
来自专栏Python小屋

Python使用正则表达式处理字符串

关于正则表达式基本语法请参考之前发过的文章常用正则表达式锦集与Python中正则表达式的用法,正则表达式扩展语法的高级用法后面会专门整理后再发。 Python标...

35560
来自专栏java学习

Java每日一练(2017/6/16)

题目要求 本期题目:(注解练习) 1.自定义一个可以用来接收用户登录信息的注解,将用户名和密码设置到验证的方法中, 例如: @LoginInfo(name="张...

300130
来自专栏互联网大杂烩

堆内存和栈内存

在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作...

8530
来自专栏vue

Java冒泡排序法升级版

18530

扫码关注云+社区

领取腾讯云代金券