列表(list)内置方法补充、字典(dict)内置方法、元组(tuple)内置方法、集合(set)内置方法

一、列表(list)内置方法补充

# reverse()颠倒列表内元素顺序

# sort()给列表内所有元素排序,参数reverse用来指定是否颠到排序,默认为False

# 列表比较大小
# l1 = [666,777]
# l2 = [111, 222, 333, 444 ,555, 666]
# print(l1 > l2)  # True  列表的比较是比较索引对应位置的元素值,只要有一个比较出来,都不在往下比较

二、字典(dict)内置方法

# 1.定义:在{}内用逗号分隔开多元素,每一个元素都是key:value的形式,其中value可以是任意类型,而key则必须是不可变类型,详见第八小节,通常key应该是str类型,因为str类型会对value有描述性的功能
info={'name':'tony','age':18,'sex':'male'} #本质info=dict({....})
# 也可以这么定义字典
info=dict(name='tony',age=18,sex='male') # info={'age': 18, 'sex': 'male', 'name': 'tony'}

# 2.类型转换
# 转换1: 
>>> info=dict([['name','tony'],('age',18)])
>>> info
{'age': 18, 'name': 'tony'}

# 转换2:fromkeys会从元组中取出每个值当做key,然后与None组成key:value放到字典中
>>> {}.fromkeys(('name','age','sex'),None)  
{'age': None, 'sex': None, 'name': None}

# 3.按k取值(不推荐使用)
user_dict = {
    'username': 'jason',
    'password': 123,
    'hobby': ['read', 'music', 'run']
    }
print(user_dict['username'])	# jason
print(user_dict['phone'])  # k不存在会直接报错

# 4..按内置方法get取值(推荐使用)
print(user_dict.get('username'))  # jason
print(user_dict.get('age'))  # None

# 5.修改数据值
print(id(user_dict))
user_dict['username'] = 'tony' # 键存在则修改对应的值
print(id(user_dict))
print(user_dict)

# 6.新增键值对
user_dict['age'] = 18	# 键不存在则新增键值对
print(user_dict)

# 7.删除数据
del user_dict['username']
print(user_dict)
res = user_dict.pop('password')
print(user_dict)
print(res)	# 123

# 8.统计字典中键值对的个数
print(len(user_dict))

# 9.字典三剑客
print(user_dict.keys)	# 一次性获取字典所有的键
dict_keys(['username', 'password', 'hobby'])
print(user_dict.values())	# 一次性获取字典所有的值
dict_values(['jason', 123, ['read', 'music', 'run']])
print(user_dict.items())	# 一次性获取字典的键值对数据
dict_items([('username', 'jason'), ('hobby', ['read', 'music', 'run'])])
	for i in user_dict.items():
	k,v = i
	print(k,v)

# 补充说明
print(dict.fromkeys(['name', 'pwd', 'hobby'], 123))	# 快速生成值相同的字典
res = (dict.fromkeys(['name', 'pwd', 'hobby'], 123))	# 快速生成值相同的字典
res = user_dict.setdefault('username', 'tony')
print(user_dict, res)	# 键存在则不修改 结果是键对应的值
res = user_dict.setdefault('age', 123)
print(user_dict, res)
# 存不存在则新增键值对 结果是新增的值
user_dict.popitem()	# 弹出键值对 后进先出
user_dict.update({'username': 'jack', 'age': 20})
# key存在则修改,不存在则新增

三、元组(tuple)内置方法

定义:t1 = (11,22,33,44)
# 数据类型转变
# 但凡能被for循环遍历的数据类型都可以传tuple()转换成元组类型
print(tuple(123))
print(tuple(123.11))
print(tuple('hello'))	# ('h', 'e', 'l', 'l', 'o')
print(tuple([11,22,33,44]))	# (11,22,33,44)
print(tuple((1,2,3,4)))	# (1,2,3,4)
print(tuple({'username': 'kevin', 'age': 19}))	# ('username', 'age')
print(tuple({111,222,33,444}))	# (33, 444,222,111)

# 取值
print(tuple1[0])
print(tuplel[3])

print(tuplel[-1])
print(tuplel[-2])
print(tuplel[-3])

# 长度
len(tuplel)

'''元组笔试题'''
t = (111)
t1 = (111.11)
t2 = ('hello')
t3 = ('hello', )	# 当元组内部哪怕是一个元素,也要加逗号隔开,否则就不是元组类型
l = ['hello',]	# list
'''容器类型:可以存放多个元素的数据类型都是容器类型
推荐:如果是容器类型,内部就算有一个元素,也最后都加上一个逗号隔开
'''
print(type(t))	# <class 'int'>
print(type(t1))	# <class 'float'>
print(type(t2))	# <class 'str'>
print(type(t3))	# <class 'tuple'>
print(type(l))	# <class 'tuple'>

四、集合(set)内置方法

1.类型转换
	set()
	集合内数据必须是不可变类型(整型 浮点型 字符串 元组)
 	集合内数据也是无序的 没有索引的概念
2.集合需要掌握的方法
	去重
 	关系运算
	ps:只有遇到上述两种需求的时候才应该考虑使用集合
3.去重
	 s1 = {11, 22, 11, 22, 22, 11, 222, 11, 22, 33, 22}
 	 l1 = [11, 22, 33, 22, 11, 22, 33, 22, 11, 22, 33, 22]
    s1 = set(l1)
    l1 = list(s1)
    print(l1)
 	'''集合的去重无法保留原先数据的排列顺序'''
4.关系运算
	群体之间做差异化校验
 	eg: 两个微信账户之间 有不同的好友 有相同的好友
 	 f1 = {'jason', 'tony', 'jerry', 'oscar'}  # 用户1的好友列表
    f2 = {'jack', 'jason', 'tom', 'tony'}  # 用户2的好友列表
    # 1.求两个人的共同好友
    # print(f1 & f2)  # {'jason', 'tony'}
    # 2.求用户1独有的好友
    # print(f1 - f2)  # {'jerry', 'oscar'}
    # 3.求两个人所有的好友
    # print(f1 | f2)  # {'jason', 'jack', 'tom', 'tony', 'oscar', 'jerry'}
    # 4.求两个人各自独有的好友
    # print(f1 ^ f2)  # {'oscar', 'tom', 'jack', 'jerry'}
    # 5.父集 子集
    print(f1 > f2)
    print(f1 < f2)
posted @   吴仁耀  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
  1. 1 原来你也在这里 周笔畅
  2. 2 世间美好与你环环相扣 柏松
  3. 3 起风了 吴青峰
  4. 4 极恶都市 夏日入侵企划
极恶都市 - 夏日入侵企划
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

作词 : 王星

作曲 : 灰鸿啊/皮皮

编曲 : 夏日入侵企画

制作人 : 邢硕

节奏吉他 : 肯尼

主音吉他 : 张伟楠

贝斯 : 皮皮

鼓 : 海鑫

和声 : 邢硕

音效制作 : 邢硕

录音 : 邢硕/夏国兴

混音 : 于昊

特别鸣谢 : 张伟楠

这城市的车流和这地表的颤抖

像一颗石子落入地心之后泛起的温柔

暗涌

河水流过转角她的楼

被梦魇

轻声呓语唤醒身后的幼兽

失效感官焦灼只剩下

麻木愚钝无从感受

共同支撑全都瓦解

只是我们现在都

已忘记到底是

谁隐藏春秋

谁在大雨之后

把旗帜插在最高的楼

过去陈旧的还在坚守

内心已腐朽

摇摇欲坠不停退后

毁灭即拯救

夏日掠夺春秋

结局无法看透

眼看这情节开始变旧

所有的城池已失守

最终无法占有

无眠辗转

伴着人间破碎的旧梦

像繁星

退却后只剩下混沌的夜空

炙热

掩盖风声鹤唳的担忧

把所有失落无助反手推入

无尽的白昼

失效感官焦灼只剩下

麻木愚钝无从感受

共同支撑全都瓦解

只是我们现在都已经忘记到底是

谁隐藏春秋

谁在大雨之后

把旗帜插在最高的楼

过去的陈旧还在坚守

内心已腐朽

摇摇欲坠不停退后

毁灭即拯救

夏日掠夺春秋

结局无法看透

眼看这情节开始变旧

所有的城池早已失守

惶恐难以接受

缠绵往复不肯放手

最终无法占有

谁隐藏春秋

谁在大雨之后

把旗帜插在最高的楼

过去的陈旧还在坚守

内心已腐朽

摇摇欲坠不停退后

毁 灭 即 拯 救

谁掠夺春秋

谁在大雨之后

把旗帜插在最高的楼

过去的陈旧还在坚守

内心已腐朽

摇摇欲坠不停退后

毁灭即拯救

夏日掠夺春秋

结局无法看透

明知城池已失守

缠绵往复不肯放手

最终无法占有

点击右上角即可分享
微信分享提示