python中容器(列表,集合,元组,字典)

本文介绍了Python中的四种基本容器类型:列表、集合、元组和字典,阐述了它们的定义、操作方法及应用场景,帮助读者掌握这些数据结构的使用技巧。
部署运行你感兴趣的模型镜像

容器

什么是容器?
容器 是用来存储和组织其他对象的对象,存放多个元素的一种数据类型
也就是说容器里面可以放很多东西,这些东西可以是字符串,可以是整数,可以是自定义类型,然后把这些东西有组织的存放在内存中

1.列表

列表(list)用来存储不同的数据类型,使用 [ ]

定义方式:
1、基于弱数据类型语言的定义

ls = [1,2,3,4,5]

2、通过全局函数list()定义

ls = list()
ls = list([1,2,3,4,5])

如何获取元素?
序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
在这里插入图片描述
常用方法:
append() -------- 向列表的尾部添加元素

ls=[1,2,3,4]
ls.append(6)

insert(index,object) -------- 向指定的下标处添加元素
sort()-------- 进行排序(从下到大 int类型)可以对字母进行排序(ASCII值)类型不能混
index()-------- 返回的是元素在列表中的第一个位置
reverse()------------ 将列表进行翻转
remove()---------- 删除某个元素,如果有重复,删除的是第一次出现的元素,如果元素不存在会报错
count()-------- 返回的是某个元素在列表里面的个数
clear()--------- 清除元素
copy()-------- 浅拷贝对象 不等价与 =
extend()-------- 合并列表
pop()-------删除列表尾部的元素(与append相反),返回删除的元素,pop(i) i指的是下标

如何遍历列表?(每个元素)

ls=[1,2,3,4,5,6]
 for i in ls:
     print(i)

补充:
1、通过下标可以直接更改列表里面某一个元素的值
2、列表里的元素类型可以多个类型

ls = [1,2,3,[1,2,3],5,6]
ls = ["python","c","java",["数据结构与算法","数据库","计算机组成原理"],"c#",["英语","数学","语文"],"js"]

2.集合 (set)

集合(set)是一个无序的不重复元素序列,存储元素不重复、无序数据类型,只支持成员操作赋、for循环迭代、枚举。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

定义方式:
1.set() 全局函数 s = set()
2. s = {1,2,3} ---------- 弱数据类型语言 {} ------- 集合

当集合内有重复元素时,输出集合会自动将重复元素去掉

s = {1,2,4,5}
print(type(s))
s1 = {}
print(type(s1))   ##空字典定义
s1 = set([])
print(type(s1))    ###空集合定义

主要的方法:
clear ---------- 清除
remove ------ 如果元素不存在会报错
popadd ------ 添加 ,添加重复的元素的时候不会报错,但是不能成功添加,因为集合元素不能重复
difference ------- 差集
intersection------- 交集

s1 = {1,2,3}
s2 = {2,3,4}
print('交集:',s1.intersection(s2))
print('交集:',s1 & s2)  

union ------- 并集

s1 = {1,2,3}
s2 = {2,3,4}
print('并集',s1.union(s2))
print('并集',s1 | s2)

updat ----- 更新意思 更新集合(合并集合)
discard-------- 移除元素,移除不存在的元素的时候,不会报错

3 .元组(tuple)

Python的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
tup3 = "a", "b", "c", "d"

特点:
1、通过下标获取元素

tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )

print "tup1[0]: ", tup1[0]
print "tup2[1:5]: ", tup2[1:5]

2、元组是一个不可变(指向不可变)类型,但是元组里面的元素可以是可变类型

注意:
如何定义一个元组只有一个元素?

t = (1,)

4 .字典 (dict)

字典 是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

获取值: d[key] ------ 获取value的值d[key] = value ------修改原本value的值

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
dict['Age'] = 8 # 更新
print "dict['Age']: ", dict['Age']

键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。

>>> dict = {'a': 1, 'b': 2, 'b': '3'}
>>> dict['b']
'3'
>>> dict
{'a': 1, 'b': '3'}

主要的方法:
get -------- 通过key获取value的值,注意:如果获取不存在的key,返回的是
Noneitems --------- 获取所有的键值对
keys ---------- 获取所有的键
values ------- 获取所有的值
setdefault ---------- 设置默认值
pop --------通过key值删除键值对,如果没有则抛出异常
popitem ------ 删除键值对,返回的是删除的键值对,遵循的规则先进后出

遍历字典:

for k in d:     
	print(k,d.get(k)) 
for k in d:     
	print(k,d[k])
for k,v in d.items():     
	print(k,v)

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

Python3.8

Python3.8

Conda
Python

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

### Python 数据结构概述 #### 列表 (List) 列表一种有序的数据容器,允许存储重复项并支持索引访问。可以动态调整大小,在创建之后能够方便地添加或删除元素。 - **定义方式**: 使用方括号 `[]` 或者内置函数 `list()` ```python my_list = [1, 2, 'three', True] empty_list = list() ``` - **特性** - 支持切片操作来获取子序列[^1]。 - 提供多种方法用于修改内容,比如 `.append()` 和 `.extend()` 等[^2]。 #### 元组 (Tuple) 元组同样是有序的集合体,但是不可变——一旦初始化就不能更改其内部成员;不过这并不妨碍其中包含可变对象作为元素。 - **定义方式**: 圆括号 `()` 或者直接由逗号分隔多个构成 ```python coordinates = (0, 0) single_item_tuple = ('only',) ``` - **特性** - 访问速度通常优于列表,因为不需要考虑变化带来的额外开销[^3]。 - 常被用来返回多函数的结果或者表示固定数量的相关信息组合。 #### 字典 (Dictionary) 字典是以键对形式存在的映射类型数据结构,每个条目都关联着唯一的键名以便快速查找对应的。不允许存在相同名称的键。 - **定义方式**: 花括号 `{}` 加冒号 `:` 连接键与,也可以通过 `dict()` 构造器建立 ```python person_info = {'name': 'Alice', 'age': 25} another_dict = dict(one=1, two=2) ``` - **特性** - 键必须是不可变类型的变量(如字符串、整数),而则没有任何限制。 - 对于频繁查询特定项目的情况非常高效,平均时间复杂度接近 O(1)。 #### 集合 (Set) 集合一个无序且不含有重复元素的独特化数组概念实现。它主要用于执行数学上的集合理论运算,像交集、并集等。 - **定义方式**: 大括号 `{}` 中放置唯一元素,或是调用 `set()` 函数 ```python unique_numbers = {1, 2, 3} from_iterable_set = set([4, 5, 6]) ``` - **特性** - 自动去除冗余项,确保所有成员都是独一无二的存在。 - 支持一系列标准集合操作符以及相应的方法来进行关系测试和转换处理。 综上所述,这些基本数据类型在实际编程过程中扮演着不可或缺的角色,理解它们之间的差异有助于编写更加简洁高效的代码。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值