📜  Python的列表,元组,集合和字典的区别和应用(1)

📅  最后修改于: 2023-12-03 14:46:45.711000             🧑  作者: Mango

Python的列表,元组,集合和字典的区别和应用

Python提供了许多数据类型,其中最常用的就是列表、元组、集合和字典。虽然它们具有某些共同特征,但它们各自都有自己特殊的用途。

列表(list)

列表是一种可变(mutable)数据类型,可以通过中括号 [] 来创建。列表元素可以是不同类型的对象,包括其他列表。

my_list = [1, "hello", 3.14, ["a", "b", "c"]]

列表中的元素可以通过索引来访问,索引从0开始。

print(my_list[0]) #1
print(my_list[1]) #"hello"

列表是一种通用的序列类型,可以进行切片操作,使用 + 运算符进行连接,使用 * 运算符进行重复。

a = [1, 2, 3]
b = [4, 5, 6]
#连接
print(a + b) #[1, 2, 3, 4, 5, 6]
#重复
print(a * 3) #[1, 2, 3, 1, 2, 3, 1, 2, 3]
#切片
print(a[1:3]) #[2, 3]

列表也是一种可变数据类型,可以通过索引或切片来修改或删除列表中的元素。

my_list[1] = "world"
print(my_list) #[1, 'world', 3.14, ['a', 'b', 'c']]
del my_list[2]
print(my_list) #[1, 'world', ['a', 'b', 'c']]

由于列表是可变的,因此它们不适合在字典键或集合中使用,因为这些类型需要不可变的对象作为键。

元组(tuple)

元组是一种不可变(immutable)数据类型,可以通过圆括号 () 来创建。元组元素可以是不同类型的对象,包括其他元组。

my_tuple = (1, "hello", 3.14, ("a", "b", "c"))

元组中的元素可以通过索引来访问,索引从0开始。

print(my_tuple[0]) #1
print(my_tuple[1]) #"hello"

元组也是一种通用的序列类型,可以进行切片操作,使用 + 运算符进行连接,使用 * 运算符进行重复。

a = (1, 2, 3)
b = (4, 5, 6)
#连接
print(a + b) #(1, 2, 3, 4, 5, 6)
#重复
print(a * 3) #(1, 2, 3, 1, 2, 3, 1, 2, 3)
#切片
print(a[1:3]) #(2, 3)

元组是不可变的,因此它们适合在字典键中使用。

my_dict = {(1, 2, 3): "hello"}
print(my_dict[(1, 2, 3)]) #"hello"
集合(set)

集合是一种无序(unordered)数据类型,可以通过大括号 {}set() 函数来创建。集合中的元素必须是不可变(immutable)的。

my_set = {1, "hello", 3.14, "a", "b", "c"}

由于集合是无序的,因此不能通过索引来访问集合中的元素。

集合是一种数学上的集合类型,支持并集、交集和差集等操作。

set_a = {1, 2, 3}
set_b = {3, 4, 5}
#并集
print(set_a | set_b) #{1, 2, 3, 4, 5}
#交集
print(set_a & set_b) #{3}
#差集
print(set_a - set_b) #{1, 2}

由于集合中的元素是不可变的,因此它们适合在字典键中使用。

my_dict = {(1, 2, 3): "hello"}
print(my_dict[(1, 2, 3)]) #"hello"
字典(dict)

字典是一种可变(mutable)数据类型,可以通过大括号 {}dict() 函数来创建。字典中的元素是键值对,键必须是不可变(immutable)的。

my_dict = {"a": 1, "b": 2, "c": 3}

字典中的元素可以通过键来访问。

print(my_dict["a"]) #1
print(my_dict["b"]) #2

字典是一种关联数组类型,支持添加、修改和删除键值对。

my_dict["d"] = 4
print(my_dict) #{"a": 1, "b": 2, "c": 3, "d": 4}
my_dict["b"] = 5
print(my_dict) #{"a": 1, "b": 5, "c": 3, "d": 4}
del my_dict["c"]
print(my_dict) #{"a": 1, "b": 5, "d": 4}

字典可以用于存储和获取键值对,它是一种非常常用的数据类型。

phone_book = {"Alice": "555-1234", "Bob": "555-5678", "Charlie": "555-9999"}
print(phone_book["Bob"]) #"555-5678"
总结

列表、元组、集合和字典是Python中的常用数据类型。它们各自具有不同的特征和用途,因此程序员需要根据具体情况选择适合的数据类型。