List是Python中常用的一种数据结构,可以存储多个元素,并且支持在列表中添加、删除、修改、查找等多种操作。
一、创建List
在Python中,可以用方括号来创建一个List:
my_list = [1, 2, 3, 'apple', 'banana', 'orange']
print(my_list)
上面的代码创建了一个包含6个元素的List,其中包括三个整数和三个字符串,输出结果为:
[1, 2, 3, 'apple', 'banana', 'orange']
也可以使用list()
函数来创建一个List:
my_list = list(range(5))
print(my_list)
这里使用range()
函数生成一个包含0到4数字的序列,再将这个序列转换成List。
二、访问List元素
可以使用下标(从0开始)来访问List的元素:
my_list = [1, 2, 3, 4, 5]
print(my_list[0]) #输出1
print(my_list[3]) #输出4
也可以使用负下标来从列表的末尾开始访问:
my_list = [1, 2, 3, 4, 5]
print(my_list[-1]) #输出5
print(my_list[-3]) #输出3
三、增加、删除元素
1. 增加元素
可以使用append()
方法在List的末尾增加一个元素:
my_list = [1, 2, 3]
my_list.append(4)
print(my_list) #输出[1, 2, 3, 4]
也可以使用insert()
方法在List中插入一个元素:
my_list = ['apple', 'banana', 'orange']
my_list.insert(1, 'pear') #在下标为1的位置插入元素'pear'
print(my_list) #输出['apple', 'pear', 'banana', 'orange']
还可以使用extend()
方法将两个List合并成一个:
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list1.extend(list2)
print(list1) #输出[1, 2, 3, 4, 5, 6]
2. 删除元素
可以使用remove()
方法从List中删除一个指定的元素:
my_list = ['apple', 'banana', 'orange']
my_list.remove('banana')
print(my_list) #输出['apple', 'orange']
也可以使用del
关键字从List中删除一个指定下标的元素:
my_list = ['apple', 'banana', 'orange']
del my_list[1]
print(my_list) #输出['apple', 'orange']
四、List切片
可以使用List切片来获取指定范围内的元素:
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(my_list[2:6]) #输出[2, 3, 4, 5]
print(my_list[1:8:2]) #输出[1, 3, 5, 7]
print(my_list[5:]) #输出[5, 6, 7, 8, 9]
print(my_list[:-3]) #输出[0, 1, 2, 3, 4, 5, 6]
其中my_list[start:end]
表示获取从下标为start的元素到下标为end-1的元素,my_list[start:end:step]
还可以指定步长。
五、List排序
可以使用sort()
方法对List中的元素进行排序:
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
my_list.sort()
print('Sorted list:', my_list)
该方法会直接在原来的List上进行排序。如果想要得到一个新的排序好的List,可以使用sorted()
函数:
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
new_list = sorted(my_list)
print('Original list:', my_list)
print('Sorted list:', new_list)
六、List不同之处
Python的List比较特别,有一些常见的数据类型并没有类似的数据结构,比如元组、字典。
和元组相比,List的特点在于可以修改元素。而元组中的元素不可变,所以在需要以某种方式固定不变一系列元素时,需要使用元组。比如二维空间坐标点可以表示为(x, y)形式的元组,不会发生变化。
和字典相比,List的特点在于元素存储的顺序。List中的元素是有序的,可以通过下标访问。而字典中的元素是无序的,需要通过键来访问。