python中的元组、列表、集合、字典

一、python中常见的数据结构

1、元组(tuple):是不可变的序列,一旦创建,其元素就不能被修改。
  • 元组使用小括号 () 来定义,元素之间用逗号分隔。
  • 元组中的元素不能修改,这意味着不能添加、删除或更改元素的值。
  • 元组通常用于存储一组固定不变的数据,比如坐标、日期等。
my_tuple = (1, 2, 3, 'a', 'b')

2、列表(list):是可变的序列,可以添加、删除和修改元素。

  • 列表使用方括号 [] 来定义,元素之间同样用逗号分隔。
  • 列表是可变的,可以随时添加、删除或修改元素。
  • 列表适用于存储一系列可能会发生变化的数据,比如购物清单。
my_list = [4, 5, 6, 'c', 'd']
my_list.append(7)  # 可以添加元素
my_list[0] = 10  # 可以修改元素

3、字典(dictionary):是一种键值对的数据结构,通过键来访问对应的值。

  • 字典使用花括号 {} 来定义,由键值对组成,键和值之间用冒号 : 分隔,键值对之间用逗号分隔。
  • 通过键来快速查找对应的值。
  • 常用于存储具有映射关系的数据,比如学生的学号和姓名。
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
print(my_dict['name'])  # 通过键获取值

4、集合(set):是不允许重复元素的无序集合,常用于去重和集合运算。

  • 集合使用花括号 {} 来定义,或者通过 set() 函数创建。
  • 集合中的元素是无序且不重复的。
  • 常用于去除重复元素、进行集合的交并差等运算。
my_set = {1, 2, 3, 3, 4}  # 重复的 3 会被自动去除

二、函数

1、元组

my_tuple = (1, 2, 3)
print(len(my_tuple))  # 输出 3

my_tuple = (1, 5, 2)
print(max(my_tuple))  # 输出 5
print(min(my_tuple))  # 输出 1

my_tuple = (1, 2, 3, 2)
print(my_tuple.index(2))  # 输出 1 (返回第一个匹配元素的索引)

my_tuple = (1, 2, 2, 3)
print(my_tuple.count(2))  # 输出 2
2、列表

##添加元素
#list.append
my_list = [1, 2, 3]
my_list.append(4)
print(my_list)  # 输出:[1, 2, 3, 4]

#list.insert
my_list = [1, 2, 3]
my_list.insert(1, 5)
print(my_list)  # 输出:[1, 5, 2, 3]

#list.remove
my_list = [1, 2, 2, 3]
my_list.remove(2)
print(my_list)  # 输出:[1, 2, 3]

##移除元素
#list.pop
my_list = [1, 2, 3]
removed_item = my_list.pop()
print(removed_item)  # 输出:3
print(my_list)  # 输出:[1, 2]

#list.clear()
my_list = [1, 2, 3, 4, 5]
my_list.clear()
print(my_list)  # 输出: []


##排序
#list.sort()
my_list = [3, 1, 2]
my_list.sort()
print(my_list)  # 输出:[1, 2, 3]

##计数
#list.count()
my_list = [1, 2, 2, 3]	
count = my_list.count(2)	
print(count) # 输出:2	


#list.reverse()
my_list = [1, 2, 3]
my_list.reverse()
print(my_list)  # 输出:[3, 2, 1]

3、字典

#获取键值
my_dict = {'a': 1, 'b': 2, 'c': 3}
keys = my_dict.keys()
print(keys)  # 输出: dict_keys(['a', 'b', 'c'])

my_dict = {'a': 1, 'b': 2, 'c': 3}
values = my_dict.values()
print(values)  # 输出: dict_values([1, 2, 3])

my_dict = {'a': 1, 'b': 2, 'c': 3}
items = my_dict.items()
print(items)  # 输出: dict_items([('a', 1), ('b', 2), ('c', 3)])

my_dict = {'a': 1, 'b': 2, 'c': 3}
value = my_dict.get('d', 0)
print(value)  # 输出: 0

#增加元素
my_dict = {'a': 1, 'b': 2}
new_data = {'c': 3, 'd': 4}
my_dict.update(new_data)
print(my_dict)  # 输出: {'a': 1, 'b': 2, 'c': 3, 'd': 4}

my_dict = {'a': 1, 'b': 2}
my_dict['c'] = 3  # 新增键 'c' 对应的值为 3
print(my_dict)  # 输出: {'a': 1, 'b': 2, 'c': 3}

#移除元素
my_dict = {'a': 1, 'b': 2, 'c': 3}
removed_value = my_dict.pop('b')
print(removed_value)  # 输出: 2
print(my_dict)  # 输出: {'a': 1, 'c': 3}

my_dict = {'a': 1, 'b': 2, 'c': 3}
del my_dict['c']
print(my_dict)  # 输出: {'a': 1, 'b': 2}

my_dict = {'a': 1, 'b': 2, 'c': 3}
my_dict.clear()
print(my_dict)  # 输出: {}

4、集合

#添加元素
my_set = {1, 2, 3}
my_set.add(4)
print(my_set)  # 输出 {1, 2, 3, 4}

#移除元素
my_set = {1, 2, 3}
my_set.remove(2)
print(my_set)  # 输出 {1, 3}

my_set = {1, 2, 3}
my_set.discard(4)  # 不会报错

my_set = {1, 2, 3}
removed_element = my_set.pop()
print(removed_element)  # 输出随机移除的一个元素

my_set = {1, 2, 3}
my_set.clear()
print(my_set)  # 输出 set()

#交并补
set1 = {1, 2, 3}
set2 = {3, 4, 5}
union_set = set1.union(set2)
print(union_set)  # 输出 {1, 2, 3, 4, 5}

set1 = {1, 2, 3}
set2 = {3, 4, 5}
intersection_set = set1.intersection(set2)
print(intersection_set)  # 输出 {3}

set1 = {1, 2, 3}
set2 = {3, 4, 5}
difference_set = set1.difference(set2)
print(difference_set)  # 输出 {1, 2}

三、推导式

1、列表推导式
numbers = [1, 2, 3, 4, 5]
even_numbers = [num for num in numbers if num % 2 == 0]
print(even_numbers)  # [2, 4]
2、字典推导式
numbers = [1, 2, 3, 4, 5]
even_odd_dict = {num: 'even' if num % 2 == 0 else 'odd' for num in numbers}
print(even_odd_dict)  # {1: 'odd', 2: 'even', 3: 'odd', 4: 'even', 5: 'odd'}
3、集合推导式
numbers = [1, 2, 3, 4, 5]
even_numbers = {num for num in numbers if num % 2 == 0}
print(even_numbers)  # {2, 4}

面试Python必会的的基础知识:列表、元组、字典、集合的区别_列表元组字典集合的区别-CSDN博客

Python 中,数据结构是非常重要的一部分,它们用于组织和存储数据。以下是关于你提到的四种基本数据结构: 1. **列表(List)**:列表是有序的序列,可以包含任意类型的元素,包括其他列表列表用方括号 `[]` 表示,元素可以通过索引访问,支持增删改查操作。 - 示例: ```python numbers = [1, 2, 3, 'a', 'b', 'c'] ``` 2. **元组(Tuple)**:元组也是有序的,但一旦创建就不能修改。元组使用圆括号 `()` 或者两个单引号 `(' ')` 包裹。它们通常用于不可变的数据。 - 示例: ```python coordinates = (10, 20) ``` 3. **集合(Set)**:集合是一组不重复、无序的唯一元素。集合使用大括号 `{}` 或者 `set()` 函数创建。集合支持并集、交集、差集等数学运算。 - 示例: ```python unique_numbers = {1, 2, 3, 3, 2} # 自动去重 ``` 4. **字典(Dictionary或Dict)**:字典是键值对的无序集合,每个键都是唯一的。字典用花括号 `{}` 表示,键值对之间用冒号 `:` 分隔,键后面跟值,多个键值对用逗号 `,` 隔开。 - 示例: ```python person_info = {'name': 'Alice', 'age': 30, 'city': 'New York'} ``` 每种数据结构都有其特定的应用场景,例如列表适合存储一系列数据,而字典则常用于存储具有关联关系的数据。了解这些基础类型有助于更好地设计和优化你的 Python 代码。如果你需要更深入地了解其中一种或几种,或者有具体的操作疑问,请告诉我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值