关于Python中主要容器类型(列表、元组、字符串、集合、字典),包括它们的特点、常用函数以及相互之间的区别。

部署运行你感兴趣的模型镜像

引言:

Python中的容器是一种可以存储其他对象的数据结构。主要的容器类型包括列表(list)、元组(tuple)、字符串(String)集合(set)和字典(dictionary)。下面是每种容器的基本语法和一些常用函数。


容器:

容纳多份相同的数据:

6a6926ef3a4d47ec9520b87601da3884.png

容器有不同的分类如:列表,元组,字符串,集合,字典: 


 

1. 列表(List)

特点

  • 有序的集合,可以存储重复的元素。
  • 支持索引和切片操作。
  • 是可变的,意味着可以添加、删除或修改元素。

基本语法

my_list = ['hz', 565, "mn", ["wo", "like", "you"]]

底层其实和Java中的ArrayList<Object>类似:其底层也是数组,但是可以通过数组的索引来访问:而且也可以通过其反向访问


my_list = ['hz', 565, "mn", ["wo", "like", "you"]]

print(my_list[3])  # 输出:['wo', 'like', 'you']
print(my_list[-1]) # 输出:['wo', 'like', 'you']
print(my_list[3][2])  # 输出:you
print(my_list[-1][-1]) # 输出:you

注意: 列表可以一次存储多个数据,也可以为不同的数据类型(这和JAVA中的List有区别),支持嵌套 

常用函数
  • append(x):在列表末尾添加一个元素。
  • extend(iterable):扩展列表,将嵌套数据容器内容取出,依次追加到列表尾部,类似一次添加多个元素。
  • insert(i, x)在指定位置插入一个元素。

  • remove(x):移除列表中第一个匹配的元素。
  • pop(i):移除并返回指定位置的元素,如果未指定位置,则移除并返回最后一个元素。也可以使用#  del  列表名字【下标】
  • index(x):返回列表中第一个匹配元素的索引。如果找不到,报错ValueError
  • count(x):返回列表中匹配元素的个数。
  • sort([key[, reverse]]):对列表进行排序。
  • reverse():反转列表中的元素。
  • clear():清空列表。

 

2. 元组(Tuple)

与List列表的区别是,列表可以修改,但是元组不可以修改

当我们程序在封装数据,不喜欢数据被篡改,那么元组就非常合适了

 

特点

  • 有序的集合,可以存储重复的元素。
  • 支持索引和切片操作。
  • 是不可变的,意味着一旦创建,就不能修改其内容。

基本语法


	my_tuple = (1, 2, 3, 'a', 'b', 'c')

注意:元组是不可变的,因此没有修改元素的方法。(但是可以修改内部List的内部元素)

 

常用函数

  • count(x)返回元组中匹配元素的个数。
  • index(x)返回元组中第一个匹配元素的索引。
  • len (元组):统计元组内的元素个数

与列表的区别

  • 元组是不可变的,而列表是可变的。
  • 元组通常用于存储不需要修改的数据,而列表则用于需要动态修改的数据。

3. 字符串(String)

 

特点

  • 有序的字符序列。
  • 支持索引和切片操作。
  • 是不可变的,意味着一旦创建,就不能修改其内容(但可以通过创建新的字符串来“修改”)。

常用函数(字符串是Python中的内置类型,有大量的方法):

  • len(s):返回字符串的长度。
  • str.upper():将字符串转换为大写。
  • str.lower():将字符串转换为小写。
  • str.split([sep[, maxsplit]]):通过指定分隔符拆分字符串。
  • str.join(iterable):将可迭代对象中的元素连接成一个字符串。
  • str.find(sub[, start[, end]]):返回子字符串在字符串中最低索引处的位置。
  • str.replace(old, new[, count]):替换字符串中的指定子串。
  • str.strip([chars]):去除字符串首尾的指定字符(默认为空格)。

与元组的区别: 

  • 字符串是字符的序列,而元组是任意对象的序列。
  • 字符串是不可变的,而元组虽然也是不可变的,但它可以包含任何类型的对象。

 


4. 集合(Set)

特点:

  1. 无序:集合内不允许重复元素(去重)
  2. 集合内元素是无序的(不支持下标索引)

基本语法

my_set = {"hz","hz","mn","mn"}
print(my_set)  # {'mn', 'hz'}

注: 不支持下标索引访问,但是和集合和列表一样支持修改的

 

常用函数

  • add(x)添加元素到集合。
  • remove(x)移除集合中的一个元素,如果元素不存在则抛出KeyError。
  • discard(x)移除集合中的一个元素,如果元素不存在则不抛出异常
  • pop()移除并返回集合中的一个随机元素。
  • clear():清空集合。
  • update(iterable)更新集合,添加指定序列中的所有元素。
  • intersection(iterable)返回集合的交集。
  • union(iterable)返回集合的并集。
  • difference(iterable)返回集合的差集。
  • symmetric_difference(iterable)返回集合的对称差集。
  • count() : 统计某元素在列表的数量
  • len(列表) : 统计列表的总共元素

与列表的区别

  • 集合是无序的,而列表是有序的。
  • 集合中的元素是唯一的,而列表中的元素可以重复。
  • 集合支持集合操作,而列表不支持。

5. 字典(Dictionary)

类似JAVA中的HashMap<Object,Object>

特点

  • 无序的、不重复的元素集合。
  • 支持集合操作,如并集、交集、差集等。
  • 是可变的,意味着可以添加或删除元素。

基本语法

my_dict = {'key1': 'value1', 'key2': 'value2', 'key3': 3}

定义空字典:

my_dit = {}
my_dit = dict()

字典【key】 = Value  

新增元素: 当key不存在就是

更新元素: 当key存在就是 

 常用函数

  • keys():返回字典中所有的键。
  • values():返回字典中所有的值。
  • items():返回字典中所有的键值对。
  • get(key):返回指定键的值,如果键不存在则返回默认值。
  • pop(key):移除指定键的键值对,并返回其值,如果键不存在则返回默认值。
  • popitem():移除并返回字典中的一个键值对(Python 3.7+ 保证返回的是最后一个插入的键值对)。
  • clear():清空字典。
  • update(other):更新字典,添加或覆盖指定字典中的所有键值对。
  • setdefault(key[, default]):如果键不存在于字典中,则设置键值对。

与列表的区别

  • 字典存储的是键值对,而列表存储的是有序的元素序列。
  • 字典中的键是唯一的,而列表中的元素可以重复。
  • 字典支持通过键快速查找值,而列表则需要通过索引或遍历来查找元素。

 

总结:

 

1. 数据容器分类:

743d42ffee164082b67a393f0ad85840.png

2.  数据容器特点对比:

120946484962483f9f7b549392be9e90.png

3. 常用的场景:0fe7d81e270344b780b6c3fba955376f.png

 

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

何政@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值