序列是Python中最基本的数据结构

list是一种有序可重复的集合,可以随时添加和删除其中的元素。

序列是Python中最基本的数据结构。

序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的数据项不需要具有相同的类型

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:

1 list1 = ['Google', 'Runoob', 1997, 2000];

2 list2 = [1, 2, 3, 4, 5 ];

3 list3 = ["a", "b", "c", "d"];

与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。

访问列表中的值

使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:

 

1 #!/usr/bin/python3

2  

3 list1 = ['Google', 'Runoob', 1997, 2000];

4 list2 = [1, 2, 3, 4, 5, 6, 7 ];

5  

6 print ("list1[0]: ", list1[0])

7 print ("list2[1:5]: ", list2[1:5])

 

以上实例输出结果:

1 list1[0]:  Google

2 list2[1:5]:  [2, 3, 4, 5]

更新列表

你可以对列表的数据项进行修改或更新,你也可以使用append()方法来添加列表项,如下所示:

 

1 #!/usr/bin/python3

2  

3 list = ['Google', 'Runoob', 1997, 2000]

4  

5 print ("第三个元素为 : ", list[2])

6 list[2] = 2001

7 print ("更新后的第三个元素为 : ", list[2])

 

以上实例输出结果:

1 第三个元素为 :  1997

2 更新后的第三个元素为 :  2001

1 >>> names

2 ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy']

3 >>> names.append("我是新来的")

4 >>> names

5 ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']

 

1 >>> names

2 ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']

3 >>> names.insert(2,"强行从Eric前面插入")

4 >>> names

5 ['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']

6 

7 >>> names.insert(5,"从eric后面插入试试新姿势")

8 >>> names

9 ['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']

 

1 >>> names

2 ['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']

3 >>> names[2] = "该换人了"

4 >>> names

5 ['Alex', 'Tenglan', '该换人了', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']

 

删除列表元素

可以使用 del 语句来删除列表的的元素,如下实例:

1 #!/usr/bin/python3

2  

3 list = ['Google', 'Runoob', 1997, 2000]

4  

5 print (list)

6 del list[2]

7 print ("删除第三个元素 : ", list)

 

以上实例输出结果:

1 ['Google', 'Runoob', 1997, 2000]

2 删除第三个元素 :  ['Google', 'Runoob', 2000]

 

 1 >>> del names[2]

 2 >>> names

 3 ['Alex', 'Tenglan', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']

 4 >>> del names[4]

 5 >>> names

 6 ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']

 7 >>>

 8 >>> names.remove("Eric") #删除指定元素

 9 >>> names

10 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', '我是新来的']

11 >>> names.pop() #删除列表最后一个值

12 '我是新来的'

13 >>> names

14 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy']

 

Python列表脚本操作符

列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。如下所示:

序列是Python中最基本的数据结构

Python列表截取与拼接

Python的列表截取与字符串操作类型,如下所示:

1 L=['Google', 'Runoob', 'Taobao']

操作:

序列是Python中最基本的数据结构

 

1 >>>L=['Google', 'Runoob', 'Taobao']

2 >>> L[2]

3 'Taobao'

4 >>> L[-2]

5 'Runoob'

6 >>> L[1:]

7 ['Runoob', 'Taobao']

8 >>>

 

列表还支持拼接操作:

1 >>>squares = [1, 4, 9, 16, 25]

2 >>> squares + [36, 49, 64, 81, 100]

3 [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

嵌套列表

 使用嵌套列表即在列表里创建其它列表,例如:

 

1 >>>a = ['a', 'b', 'c']

2 >>> n = [1, 2, 3]

3 >>> x = [a, n]

4 >>> x

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

6 >>> x[0]

7 ['a', 'b', 'c']

8 >>> x[0][1]

9 'b'

 

扩展

 

1 >>> names

2 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy']

3 >>> b = [1,2,3]

4 >>> names.extend(b)

5 >>> names

6 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3]

 

拷贝

 

1 >>> names

2 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3]

3 

4 >>> name_copy = names.copy()

5 >>> name_copy

6 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3]

 

统计

1 >>> names

2 ['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3]

3 >>> names.count("Amy")

4 2

排序&翻转

 

 1 >>> names

 2 ['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3]

 3 >>> names.sort() #排序

 4 Traceback (most recent call last):

 5   File "<stdin>", line 1, in <module>

 6 TypeError: unorderable types: int() < str()   #3.0里不同数据类型不能放在一起排序了,擦

 7 >>> names[-3] = '1'

 8 >>> names[-2] = '2'

 9 >>> names[-1] = '3'

10 >>> names

11 ['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']

12 >>> names.sort()

13 >>> names

14 ['1', '2', '3', 'Alex', 'Amy', 'Amy', 'Tenglan', 'Tom']

15 

16 >>> names.reverse() #反转

17 >>> names

18 ['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1']

 

获取下标

1 >>> names

2 ['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1']

3 >>> names.index("Amy")

4 2 #只返回找到的第一个下标

Python列表函数&方法

 Python包含以下函数:

序号

函数

1

len(list)
列表元素个数

2

max(list)
返回列表元素最大值

3

min(list)
返回列表元素最小值

4

list(seq)
将元组转换为列表

 

 

 

Python包含以下方法:

序号

方法

1

list.append(obj)
在列表末尾添加新的对象

2

list.count(obj)
统计某个元素在列表中出现的次数

3

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

4

list.index(obj)
从列表中找出某个值第一个匹配项的索引位置

5

list.insert(index, obj)
将对象插入列表

6

list.pop(obj=list[-1])
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

7

list.remove(obj)
移除列表中某个值的第一个匹配项

8

list.reverse()
反向列表中元素

9

list.sort([func])
对原列表进行排序

10

list.clear()
清空列表

11

list.copy()
复制列表

 

序列是Python中最基本的数据结构