List(列表)

5

List介绍

  Python中的List是可迭代对象,类似于C/C++中的数组,但是比数组更加灵活,可以动态的随意增加和删除元素,还可以存储不同的数据类型。

List操作

Python创建列表

1
2
3
4
5
# list(iterable) 将可迭代对象转换为list类型
a = list(range(5))

# [a, b, c, ...] 创建元素为a, b, c, ...的列表
b = [1, 3.14, 'hello world', True, [1, 2, 3]]

9

Python索引列表元素

1
2
3
4
5
# 和C/C++相同,通过中括号[]索引列表元素,可以通过:运算符获取连续的索引,负数索引为从后向前索引,-1代表最后一个元素,-2代表倒数第二个元素
a = [1, 3.14, 'hello world', True, [1, 2, 3]]
b = a[1:3]
c = a[4]
d = a[4][1]

10

Python向列表中增加元素

1
2
3
4
5
6
7
8
# obj.append(obj1) 在obj末尾追加obj1,可以追加一个数据,也可以追加一个列表
a = [1, 3.14, 'hello world', True, [1, 2, 3]]
a.append(-1)
a.append([1, 2, 3])

# obj1 + obj2 将两个列表相加,obj2会追加在obj1的后面
b = a + [[1, 2, 3]] # 得到的值等价于a.append([1, 2, 3]),但是a.append()只能在a后面追加,如果想赋值给b而不想改变a就要通过加法运算
c = a + [1] # 得到的值等价于a.append(1)

11

Python从列表中删除元素

1
2
3
4
5
6
7
8
9
10
11
12
13
a = [1, 3.14, 'hello world', True, [1, 2, 3]] 

# obj.remove(data) 从obj中删除首次出现值为data的元素
a.remove(3.14)

# del obj 删除obj数据,是用来删除不用的变量,也可以删除列表中的某个元素
del a[1]

# obj.pop(n) 弹出第n个元素并返回该元素
b = a.pop(-1)

# obj.clear() 删除所有元素
a.clear()

12

Python列表大小比较

1
2
3
4
# obj1 op obj2 将两个列表进行大小比较,从第一个元素开始比较,如果相同继续比较
a = [1, 3.14, 'hello world', True, [1, 2, 3]]
b = [1, 2.71, 'hello world', True, [1, 2, 3]]
a > b

13

Python列表乘法

1
2
3
# obj * n,n为正整数,将obj复制n次
a = [1, 3.14, True, [1, 2, 3]]
b = a * 3

14

Python判断元素是否在列表中

1
2
3
4
# data in obj,判断data是否在obj中,data not in obj,判断data是否不在obj中
a = [1, 3.14, True, [1, 2, 3]]
b = 3.14 in a
c = True not in a

15

Python求某个元素出现的次数

1
2
3
# obj.count(data) 求data在列表中出现的次数
a = [1, 3, 1, 2, 5]
a.count(1)

16

Python求某个元素的索引

1
2
3
4
# obj.index(data, begin, end) 从begin到end-1中索引第一次出现data的位置,默认从第一个元素到最后一个元素
a = [1, 3, 1, 2, 5]
a.index(1)
a.index(1, 1, 3)

17

Python将列表翻转

1
2
3
4
5
6
7
a = [1, 3, 1, 2, 5]

# 通过索引翻转[::-1]
a[::-1]

# obj.reverse() 将列表反转
a.reverse()

18

Python将列表排序

1
2
3
4
# obj.sort(key, reverse=False) 将obj按照关键字key进行排序,reverse=False默认为从小到大排序,reverse=True为从大到小排序
a = [1, 3, 1, 2, 5]
a.sort()
a.sort(reverse=True)

19

List小结

  List列表是Python中最灵活的一种结构,没有任何的限制,可以代替栈和队列的各种操作,因此使用的频率也是非常高的,所以要灵活掌握List的应用。

-------------本文结束感谢您的阅读-------------
0%