1. 列表
Python中列表是最常用的数据类型之一,它可以包含任何类型的数据,并且可以进行修改和操作。在Python中,列表是由方括号[ ]
所包括的一系列由逗号隔开的值组成。
1.1 列表的定义
定义一个列表非常简单,只需要用[ ]
来表示,其中可以放置任意多个数据项,数据项之间用英文逗号,
分隔。下面的代码展示了一个简单的列表:
# 定义一个列表
my_list = [1, 2, 3, "hello", True]
# 打印列表
print(my_list)
在上面的代码中,我们定义了一个名为my_list
的列表,其中包含了5个数据项。这些数据项可以是数字、字符串、布尔值等等。
1.2 列表的操作
Python中的列表支持许多操作,包括索引、切片、相加、相乘、添加、插入、删除等等。下面我们来逐一介绍。
1.2.1 索引
可以使用方括号[ ]
和索引来访问列表中的单个元素。在Python中,列表的索引是从0开始的。例如:
# 定义一个列表
my_list = [1, 2, 3, "hello", True]
# 访问第3个元素(即索引为2的元素)
print(my_list[2])
上面的代码输出3
,因为列表中索引为2的元素是3
。
1.2.2 切片
除了索引以外,还可以使用切片操作来截取列表中的一段元素。切片操作的语法为[start:end:step]
,其中start
表示起始索引,end
表示结束索引(不包含在切片中),step
表示步长。例如:
# 定义一个列表
my_list = [1, 2, 3, 4, 5]
# 截取索引为1到3的部分(不包含索引为3的元素)
print(my_list[1:3])
上面的代码输出[2, 3]
,因为这是从索引为1到3(不包含3)的元素组成的列表。
1.2.3 相加
可以使用加号+
来将两个列表合并成一个新的列表。例如:
# 定义两个列表
list1 = [1, 2, 3]
list2 = ["a", "b", "c"]
# 合并两个列表
new_list = list1 + list2
# 打印新列表
print(new_list)
上面的代码输出[1, 2, 3, 'a', 'b', 'c']
,因为这是将list1
和list2
合并后的新列表。
1.2.4 相乘
可以使用乘号*
来重复一个列表多次,得到一个新的列表。例如:
# 定义一个列表
my_list = [1, 2, 3]
# 将列表重复3次
new_list = my_list * 3
# 打印新列表
print(new_list)
上面的代码输出[1, 2, 3, 1, 2, 3, 1, 2, 3]
,因为将my_list
重复3次后得到了一个新的列表。
1.2.5 添加元素
可以使用append()
函数向列表末尾添加一个新元素。例如:
# 定义一个列表
my_list = [1, 2, 3]
# 向列表末尾添加一个元素
my_list.append(4)
# 打印新列表
print(my_list)
上面的代码输出[1, 2, 3, 4]
,因为向my_list
末尾添加了一个新元素4。
1.2.6 插入元素
可以使用insert()
函数向列表的任意位置插入一个新元素。例如:
# 定义一个列表
my_list = [1, 2, 3]
# 在列表索引为1的位置插入一个元素
my_list.insert(1, "hello")
# 打印新列表
print(my_list)
上面的代码输出[1, 'hello', 2, 3]
,因为在my_list
索引为1的位置插入了一个新元素"hello"
。
1.2.7 删除元素
可以使用del
或remove()
函数删除列表中的一个元素。其中del
函数可以用来删除指定索引的元素,而remove()
函数可以用来删除指定值的元素。例如:
# 定义一个列表
my_list = [1, 2, 3, "hello", True]
# 删除第3个元素(即索引为2的元素)
del my_list[2]
# 打印新列表
print(my_list)
# 删除值为"hello"的元素
my_list.remove("hello")
# 打印新列表
print(my_list)
上面的代码输出[1, 2, 'hello', True]
和[1, 2, True]
,因为我们先使用del
函数删除了索引为2的元素,再使用remove()
函数删除值为"hello"
的元素。
2. 元组
除了列表以外,Python中还有另外一种序列类型,叫做元组。元组和列表很相似,但是它们之间也有一些区别。在Python中,元组是由圆括号( )
所包括的一系列由逗号隔开的值组成。
2.1 元组的定义
定义一个元组也非常简单,只需要用( )
来表示,其中可以放置任意多个数据项,数据项之间用英文逗号,
分隔。下面的代码展示了一个简单的元组:
# 定义一个元组
my_tuple = (1, 2, 3, "hello", True)
# 打印元组
print(my_tuple)
在上面的代码中,我们定义了一个名为my_tuple
的元组,其中包含了5个数据项。这些数据项可以是数字、字符串、布尔值等等。
2.2 元组的操作
元组和列表之间的区别在于元组一旦创建就不能修改,也就是说元组是不可变的。因此,与列表不同,元组没有像添加和删除元素这样的方法。但是,元组仍然支持许多操作,包括索引、切片、相加、相乘等等。下面我们来逐一介绍。
2.2.1 索引
可以使用方括号[ ]
和索引来访问元组中的单个元素。在Python中,元组的索引也是从0开始的。例如:
# 定义一个元组
my_tuple = (1, 2, 3, "hello", True)
# 访问第3个元素(即索引为2的元素)
print(my_tuple[2])
上面的代码输出3
,因为元组中索引为2的元素是3
。
2.2.2 切片
和列表一样,元组也支持切片操作来截取一段元素。切片操作的语法和列表相同。
2.2.3 相加
和列表一样,可以使用加号+
来将两个元组合并成一个新的元组。
2.2.4 相乘
和列表一样,可以使用乘号*
来重复一个元组多次,得到一个新的元组。
2.3 元组的应用
虽然元组的功能比列表要少一些,但是元组仍然有很多应用场景。例如:
用于函数返回多个值的情况。在Python中,如果一个函数需要返回多个值,可以使用元组来实现,如下所示:
def func():
# 用元组返回多个值
return 1, 2
# 调用函数并获取返回的元组
my_tuple = func()
# 打印元组
print(my_tuple)
上面的代码输出(1, 2)
,因为func()
返回了一个有两个元素的元组。
用于保护数据。由于元组是不可变的,所以可以用来保护数据不被无意或有意地修改。例如,将元组作为字典的键时,保证了这个键始终是不变的。
3. 总结
Python中的列表和元组是非常常用的序列类型,它们都可以包含任意类型的数据,并且可以进行操作。而列表可以随意修改元素,而元组则不可修改。在进行程序设计时,需要根据实际需求来选择使用哪种类型。