Python拥有丰富的数据结构,其中列表是最常用、最易学、最灵活的一种。Python将列表看做一个序列,可以存储不同类型的元素,包括字符串、数字、列表等等。
一、创建列表
创建一个列表有多种方法,其中最简单的一种方法是使用方括号括起来的逗号分隔值的形式。例如,下面这段代码定义了一个简单的列表。
my_list = [1, 2, 3, 4, 5] print(my_list)
执行上述代码,输出结果如下。
[1, 2, 3, 4, 5]
此外,还可以使用Python内置函数list
将其他类型数据(如元组、字符串)转换为列表形式。下面这段代码将一个元组转化为列表。
my_tuple = (1, 2, 3, 4, 5) my_list = list(my_tuple) print(my_list)
执行上述代码,输出结果如下。
[1, 2, 3, 4, 5]
二、访问列表元素
Python中列表的元素可以通过索引值来访问,其中第一个元素的索引值为0。例如,下面这段代码访问了列表中的第一个元素。
my_list = [1, 2, 3, 4, 5] print(my_list[0])
执行上述代码,输出结果为1
。
除了通过索引值来访问列表元素外,还可以使用切片语法[start:end]
来访问列表元素。其中start
代表切片的起始位置(默认为0),end
代表切片的结束位置(默认为列表长度)。
my_list = [1, 2, 3, 4, 5] print(my_list[1:3])
执行上述代码,输出结果如下。
[2, 3]
三、向列表中添加元素
Python提供了多种方法向列表中添加元素。其中最简单的方法是使用append()
方法向列表尾部添加一个元素。例如,下面这段代码向列表中添加一个新元素。
my_list = [1, 2, 3, 4, 5] my_list.append(6) print(my_list)
执行上述代码,输出结果如下。
[1, 2, 3, 4, 5, 6]
除了append()
方法,还有insert()
方法可以在指定位置插入一个元素。例如,下面这段代码在列表的第一个位置插入一个新元素。
my_list = [1, 2, 3, 4, 5] my_list.insert(0, 0) print(my_list)
执行上述代码,输出结果如下。
[0, 1, 2, 3, 4, 5]
四、删除列表中的元素
Python也提供了多种方法从列表中删除元素。其中最常用的方法是使用del
语句来删除指定位置的元素。例如,下面这段代码删除了列表中第一个元素。
my_list = [1, 2, 3, 4, 5] del my_list[0] print(my_list)
执行上述代码,输出结果如下。
[2, 3, 4, 5]
除了使用del
语句,还可以使用remove()
方法来删除列表中指定的元素。例如,下面这段代码删除列表中第一个值为5的元素。
my_list = [1, 2, 3, 4, 5] my_list.remove(5) print(my_list)
执行上述代码,输出结果如下。
[1, 2, 3, 4]
五、列表的切片与拼接
Python提供了多种方法对列表进行切片和拼接。其中,使用切片语法[start:end:step]
可以对列表进行切片,start
、end
、step
分别表示起始位置、结束位置和步长,默认值分别为0
、列表长度和1
。
my_list = [1, 2, 3, 4, 5] print(my_list[::2])
执行上述代码,输出结果如下。
[1, 3, 5]
除了切片,还可以使用+
运算符将两个列表拼接成一个列表。
my_list1 = [1, 2, 3] my_list2 = [4, 5, 6] my_list3 = my_list1 + my_list2 print(my_list3)
执行上述代码,输出结果如下。
[1, 2, 3, 4, 5, 6]
六、列表排序
Python提供了多种方法对列表进行排序。其中最简单的方法是使用sort()
方法对列表进行排序。
my_list = [3, 1, 4, 2, 5] my_list.sort() print(my_list)
执行上述代码,输出结果如下。
[1, 2, 3, 4, 5]
除了sort()
方法,还可以使用Python内置函数sorted()
对列表进行排序。与sort()
方法不同的是,sorted()
函数会返回一个新的排序后的列表。
my_list = [3, 1, 4, 2, 5] sorted_list = sorted(my_list) print(sorted_list)
执行上述代码,输出结果如下。
[1, 2, 3, 4, 5]
原创文章,作者:FCMOB,如若转载,请注明出处:https://www.506064.com/n/373926.html