Day08 列表 集合字典的相关函数

列表的相关方法

(1) append 像列表的末尾添加新的元素
lst = ["王者上路英雄"]
lst.append("花木兰")

# (2) insert 在指定的索引之前插入元素
lst.insert(1,"凯爹")
print(lst)

# (3) extend 迭代追加所有元素(添加在末尾)
""" 要求:数据的类型是可迭代类型"""
strvar = [1,2,3,4]
lst.extend(strvar)
print(lst)

# (1) pop 通过指定的索引删除元素
lst = ["泰罗","迪迦","杰克","雷欧","艾斯"]
# 指定索引进行删除
print(lst.pop(1)) #迪迦
print(lst.pop()) # 艾斯 打印出来的是删除的元素

# remove 通过给与的值进行删除,如果有多个元素,默认删除第一个
lst = ["泰罗","迪迦","杰克","雷欧","艾斯","迪迦"]
lst.remove("迪迦")
print(lst) # ['泰罗', '杰克', '雷欧', '艾斯', '迪迦']

# (3) clear 清空列表
lst = ["泰罗","迪迦","杰克","雷欧","艾斯"]
lst.clear()
print(lst) # []
改查
#(1) index 获取某个值在列表中的索引
'''列表.index(值,[start],[end]) # []  表达参数可选项 找不到报错'''
lst = ["泰罗","迪迦","杰克","雷欧","艾斯"]
res = lst.index("杰克",0,3)
print(res)
#(2) count 计算某个元素出现的次数
# 区别 字符串中的count可以划定区域,列表中的count不行
lst = [1,2,3,2,3,5]
res = lst.count(2)
print(res) # 2
# (3)sort 列表的排序(默认从小到大进行排序)
lst = [1,4,-54,-4,66]
lst.sort()
print(lst) # [-54, -4, 1, 4, 66]

# 从大到小排序
lst.sort(reverse=True)
print(lst) # [66, 4, 1, -4, -54]
#(4) 排序英文(ascii 编码)
# 大写优先于小写
"""一位一位进行比较,在第一位相同的情况下,比较第二位,以此类推"""
lst = ["ONEAL","kobe","james","jordan","macdi"]
lst.sort()
print(lst)  # ['ONEAL', 'james', 'jordan', 'kobe', 'macdi']

#(5) reverse 列表反转操作
lst = ['小美女', '爷爷是', '的', '葫芦娃']
lst.reverse()
print(lst) #['葫芦娃', '的', '爷爷是', '小美女']

字典的相关方法

#(1) 字典的定义
dic = {} #
dic["懒洋洋"] = "聪明伶俐"
dic["喜洋洋"] = "好吃懒做"
dic["美羊羊"] = "抠脚大汉"

#(2) fromkeys 使用一组键和默认的值创建字典
lst = ["喜洋洋","美羊羊","懒洋洋"]
dic = {}.fromkeys(lst,"喜欢红太狼") # 不填入默认为 None
# 注意点: 三个键指向的列表是同一个(不推荐)
#(1)pop 通过键去删除键值对(若,没有该键可设置默认值,预防报错)
ic = {'懒洋洋': '聪明伶俐', '喜洋洋': '好吃懒做', '美羊羊': '抠脚大汉'}
res =dic.pop("懒洋洋")
print(res) # 聪明伶俐
print(dic) # {'喜洋洋': '好吃懒做', '美羊羊': '抠脚大汉'}
# 设置默认值,,预防报错
# res = dic.pop("灰太狼") # error 找不到报错
res = dic.pop("灰太狼","我还会回来的") # 我还会回来的
print(res)

#(2) popitem 删除最后一个键值对
dic = {'懒洋洋': '聪明伶俐', '喜洋洋': '好吃懒做', '美羊羊': '抠脚大汉'}
res = dic.popitem()
print(res) # ('美羊羊', '抠脚大汉')
print(dic)

#(3) clear() 清空字典
dic.clear()
print(dic)
#(1) update 批量更新(,有该键就更新,没该键就添加)
dic = {'懒洋洋': '聪明伶俐', '喜洋洋': '好吃懒做', '美羊羊': '抠脚大汉'}
#方法一 
dic_new = {"灰太狼":"温柔善良","红太郎":"美丽动人"}
dic.update(dic_new)
print(dic)
# 方法二
dic.update(灰太狼 = "温柔善良",红太狼 = "美丽动人")
#(1) get 通过键获取值 (若没有可以设置默认值,预防报错)
# get() 通过键获取值(若没有该键可设置默认值,预防报错)
dic = {'懒洋洋': '聪明伶俐', '喜洋洋': '好吃懒做', '美羊羊': '抠脚大汉'}
res = dic.get("懒洋洋")
print(res)
res = dic.get("慢羊羊","在路上") # 在路上
# res = dic.get("慢羊羊") # None
print(res)
#(2)keys 将字典的键取出来组成新的可迭代对象
res = dic.keys()
print(res)

#(3)values 将字典的值取出来组成新的可迭代对象
res = dic.values()
print(res)
# (4) 将字典的键值对凑成一个元组,组成新的可迭代对象
res = dic.items()
print(res)

元组的相关方法 tuple


tup = (1,2,3,4,4,6,4)
# index 获取某个值在元组中的索引
print(tup.index(3)) # 2

# count 计算元组中某个元素出现的次数
print(tup.count(4)) # 3

集合的相关方法


str1 = {"妲己","安其拉","王昭君","小乔"}
str2 = {"鲁班","后羿","孙尚香","伽罗","妲己"}

# 交集 intersection (&)
res = str1.intersection(str2)
# 并集 union (|)
res = str1.union(str2)
print(res) # {'安其拉', '后羿', '王昭君', '鲁班', '小乔', '妲己', '孙尚香', '伽罗'}


# 差集 (-)
res = str1.difference(str2)
print(res) # {'小乔', '王昭君', '安其拉'}

# 对称差集(补给情况包含在其中) (^)
res = str1.symmetric_difference(str2)
print(res)

# 判断是否是子集 issubset (<)
res = str1.issubset(str2)
print(res)

# 判断是否是父集 issuperset (>)
res = str1.issuperset(str2)
print(res)

# 检测两集合是否不相交,不想交返回True,相交返回False
res = str1.isdisjoint(str2)
print(res)

集合的相关函数

# add 向集合中添加数据(一次加一个)
setvar = {"神秘男孩","金角大王"}
setvar.add("银角大王")
print(setvar)
# update 迭代着增加(一次加一堆)
strvar1 = ("很帅","很衰") # 容器里至少两个元素
setvar.update(strvar1)
print(setvar)
# clear 清空集合
setvar.clear()
print(setvar)

# pop 随机删除集合中的一个数据
res = strvar.pop()
print(res)

# remove 删除集合中指定的值(不存在则报错)
setvar.remove("神秘男孩")
print(setvar)

# discard 删除集合中指定的值,不存在不删除
setvar.discard("葫芦娃")
print(setvar)
冰冻集合
# frozenset 可强转容器类型数变为冰冻集合
'''冰冻集合一旦创建,不能进行修改,只能做交叉并补操作''
lst1 = ["Gl",18,"男","爱好:女"]
fz1 = frozenset(lst1) #frozenset({'爱好:女', 18, 'Gl', '男'})

# 不能够在冰冻集合当中添加或者删除元素
# fz1.add(123) error

# 只能交差并补
print(  fz1 & fz2 )
print(  fz1 - fz2 )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值