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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值