python基础---python中的集合容器

list列表

List是python的一个内置对象
(1) List的特点:
1) list列表是有序的,指的是添加顺序和存储顺序是一致的,即先进先出,后进后出
2) list列表内的元素是可以重复的
3) list列表添加和删除的速度比较慢
4) list列表的查询速度比较快
5) list列表的第一个元素的索引是从0开始的
6) list列表的最后一个元素的索引是:列表的长度-1
7) list列表支持负数索引(-1指的就是list列表的最后一个元素),但是一般情况下我们不建议使用
(2) 列表的声明语法

列表名 = [元素,元素,.....,元素n]

列表可以存储任何数据类型的数据.一般情况下,一个列表中的数据类型尽量统一,这样是为了方便操作数据
(3) list常用的方法
1) 添加

list.append(value)  # 将值添加到列表的尾部
list.insert(index,value) # 将值添加到index指定的位置
list.extend(list2) #将list2列表扩展到list列表的尾部

2) 修改

list[index] = [value] # 修改index处的值

3) 查询

value = list[index] #查询index出的值
index = list.index(value) # 获取指定值的index值
count = list.count(value) #获取指定值出现的次数
length = len(list) # 获取list列表的长度
max = max(list) # 获取list列表中的最大值
min = min(list) #获取list列表中的最小值

4) 删除

value = list.pop() # 删除list列表中的最后一个数值,并将删除的值返回
value = list.pop(index) # 删除list列表中的index处的值,并将删除的值返回
del list[index] #  删除list列表中的index处的值,并不会返回值
list.remove(value) # 清空list列表

(4) list常见的操作

1)in 判断列表中是否包含指定的元素,包含返回True
2)not in 判断列表中是否不包含指定的元素,不包含返回False
3)+ 表示组合
4)表示重复
5)list.reverse() 表示反转列表内的元素
6)list.sort() 表示对列表内的元素进行排列,默认是升序
   list.sort(reverse = True) 降序排列
7)list的切片操作
list = list[num1:num2:num3]
num1表示切片的起始位置
num2表示切片的最终位置
num3 表示切片的间隔
List = [: :] 默认切片的起始位置是0,到末尾结束,切片间隔是1,如果间隔是负号,则表示从尾部开始,到0结束.

(5) list的遍历操作
1) 利用while循环,根据索引
2) for…in…

For 变量 in 序列:
输出序列中的元素

3) for…in range()

For 变量 in range(len(序列)):
输出

4) for …,… in enumeration

For x,y in enumeration(序列):
输出:x表示索引,y表示元素

tuple元组

(1) 元组的特点
元组是不可变类型(不能被添加,删除,修改),元组使用小括号.元组的索引也是从0开始的,最后一个元素索引也是:元组的长度-1.
(2) 元组的声明语法

元组名 = (元素,元素,.....,元素n) 
(若元组中只有一个元素,必须在元素后面加逗号).
比如:tup =(12,)

(3) 元组的操作
1) len() 获取元组的长度
2) in 判断元组中是否包含指定的元素
3) not in判断元组中是否不包含指定的元素
4) del tuple 删除整个元组
(元组内的元素不能一个一个删除,只能一起删除)
(4) 元组的遍历跟列表的遍历一样

dict字典

(1) 字典的由来
Python中为我们内置了一个对象,dict字典(在其他语言中称为Map),字典是以键值的形式存储信息,字典的语法:

字典名={键:值,键:值.....键:值}

(2) 字典的特点
1) 字典是可变类型
2) 字典中的键必须是不可变类型中的可变类型
3) 一般情况下,键统一采用字符串类型
4) 值可以是任意类型
5) 字典值可以重复
6) 字典是无序的,指的是添加元素和取出元素的顺序是不一致的
7) 字典必须保证键的唯一性
8) 字典键重复,值覆盖
9) 字典一个键,最多只能映射一个值
10) 字典也称为双列集合
11) 字典要根据键去找值,不要根据值去找键
(3) 字典常用的方法
1) 添加/修改

# 根据键去找对应的值修改;如果没有此键,则会创建一个新键.
dict[key] = value 

2) 删除

dict.pop(key) # 根据键去删除值,并将值返回
del dict(key) # 根据键去删除值,没有返回值
dict.popitem() # 随机删除一个
dict.clear() # 清空字典 结束为:{}

3) 查看

value = dict[key] # 根据键去找值
value = dict.get(key) # 根据键去找值
len(dict) # 求字典的长度
str(dict) # 将字典转化为字符串
dict.keys() # 查看字典所有的键
dict.values() # 查看字典所有的值
dict.items() # 查看字典中所有的键值对

4) 遍历

# 先获取所有的键,再根据键获取值
key = dict.keys()
for key1 in key:
    value = dict.get(key1) 

# 直接获取键值对
v = dict.items()
for key,value in v:
    print(key,value)

5) 其他操作

dict.copy() # 返回一个新的字典,内容一样,地址不同
dict.fromkeys(seq[, val])) # 创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值

# 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default;如果键在字典中,返回这个键所对应的值。
# 如果键不在字典中,向字典中插入这个键,并且以default为这个键的值,并返回 default,default的默认值为None
dict.setdefault(key, default=None)

dict.update(dict2) # 把字典dict2的键/值对更新到dict里

(4)dict特点
查找速度极快,不会随着key的增加而变慢;
需要占用大量的内存,内存浪费多。
而list:
查找和插入的时间随着元素的增加而增加;
占用空间小,浪费内存很少。

set集合

(1) set集合的特点
1) set是可变的
2) set是无序的,指的是添加元素和取出元素的顺序是不一致的
3) set中是不允许元素重复的,set可以过滤元素
(2) set的语法

setname = {值,值,....值}

(3) set的常见操作
1) 添加

set.add(value) # 将一个新值添加到集合尾部
set.updata(set2) # 将set2集合连接到set集合的尾部

2) 删除

set.remove(value) # 移除指定的值,如果移除的值不存在,会报错
set.discard(value) # 移除知道的值,如果移除的值不存在,不会报错
set.pop() # 随机删除一个元素
set.clear() # 移除集合中所有元素

(4) set的其他操作

 ‘|’ # 并集
 ‘&’ and  ‘intersection’ # 交集
 ‘-’ and  ‘ different’ # 差集
 in # 判断
 union # 联合
 issbset # 子集
 issuperset # 父集
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值