3.10学习笔记

字典的内置方法

# 1.类型转换
	转换1:dict1 = dict(['name','tony'],('age',18))
    	   print(dict1)
    输出结果: {'name':'tony','age':18}
    
    #fromkeys 会从元组中取出每个值当做key,然后与AA组成K:V放到字典中
    转换2:dict2 = {}.fromkeys(('name','age','sex'),'AA')
           print(dict2)
    输出结果:{'name':'AA','age':'AA','sex':'AA'}
    
    d1 ={
       'name':'zhangqiang',
        'age':18,
        'hobbies': ['play game', 'basketball']
   }
# 2.按key取值:
"""不推荐次方法"""
	print(d1['name'])  #jason
    print(d1['xixi'])  #键不存在会直接报错
"""推荐的方法"""
    print(d1.get('add','这个键不存在'))  # 第二个参数不写默认返回None 写了则返回写了的
    print(d1.get('name','这个键不存在')) # 如果键存在 则不需要使用到第二个参数
# 3.修改值  字典也是可变类型
 d1['name'] = 'jasonDSB' # 键存在是修改值
# 4.添加键值对
 d1['pwd'] = 123  # 键不存在则是新增一个键值对
 print(d1)
# 5.统计字典中键值对的个数
 print(len(d1))  # 3
# 6.成员运算  也只能判断key而已
  print('jason' in d1)  # False
  print('name' in d1)  # True
# 6.删除键值对
 del d1['name']  # 通用的删除方式
 print(d1)  # {'age': 18, 'hobbies': ['play game', 'basketball']}
 print(d1.pop('age'))  # 18  弹出
 print(d1)  # {'name': 'jason', 'hobbies': ['play game', 'basketball']}
 d1.popitem()  # 随机弹出一个(使用频率很低 可以忽略)
 print(d1)

2.按key取值

"""不推荐次方法"""
	print(d1['name'])  #jason
    print(d1['xixi'])  #键不存在会直接报错
"""推荐的方法"""
    print(d1.get('add','这个键不存在'))  # 第二个参数不写默认返回None 写了则返回写了的
    print(d1.get('name','这个键不存在')) # 如果键存在 则不需要使用到第二个参数

3.修改值

d1['name'] = 'jasonDSB' # 键存在是修改值

4.添加键值对

d1['pwd'] = 123  # 键不存在则是新增一个键值对

5.统计字典中键值对的个数

print(len(d1))  # 3

6.成员运算 也只能判断key而已

del d1['name']  # 通用的删除方式
 print(d1)  # {'age': 18, 'hobbies': ['play game', 'basketball']}
 print(d1.pop('age'))  # 18  弹出
 print(d1)  # {'name': 'jason', 'hobbies': ['play game', 'basketball']}
 d1.popitem()  # 随机弹出一个(使用频率很低 可以忽略)
 print(d1)

7.获取所有的键 所有的值 所有的键值对

1.获取键
print(d1.keys())  # dict_keys(['name', 'age', 'hobbies'])  可以看成是列表
2.获取值
print(d1.values())  # dict_values(['jason', 18, ['play game', 'basketball']])  可以看成是列表
3.获取键值对
print(d1.items())  # dict_items([('name', 'jason'), ('age', 18), ('hobbies', ['play game', 'basketball'])]) 

元组的内置方法

1、类型转换

#支持 for 循环的数据类型都可以转成元组
	# 除整型int、浮点型float、布尔值bool 以外的都可以
# print(tuple(11))  # 报错
# print(tuple(11.11))  # 报错
    print(tuple('jason'))
    print(tuple([11,22,33,44]))
    print(tuple({'name':'jason'}))
    print(tuple({11,22,33,44}))
# print(tuple(True))  # 报错

2、元组的特性

t1 = (11, 22, 33, 44)
     print(type(t1))  # <class 'tuple'>
t2 = (11)
     print(type(t2))  # int
t2 = (11.11)
     print(type(t2))  # float
t2 = ('jason')
     print(type(t2))  # str
 """当元组内只有一个元素的时候 一定要在元素的后面加上逗号"""

3、进索引取值

t1 = (11, 22, 33, 44, 55, 66)
print(t1[0])         # 11
print(t1[-1])		 # 66

4、切片操作

t1 = (11, 22, 33, 44, 55, 66)
print(t1[1:4])      # (22, 33, 44)
print(t1[-1:-4:-1]) # (66, 55, 44)
print(t1[-4:-1])    # (33, 44, 55)

5、统计元组内元素的个数

print(len(t1))  # 6

6、成员运算

print(11 in t1)  # True

7、统计某个元素出现的次数

print(t1.count(22))

8、元组内元素不能"修改": 元组内各个索引值指向的内存地址不能修改

t1[0] = 111

集合内置方法

#定义:在{ }内用逗号分隔开多个元素,集合具备以下三个特点:
每个元素必须是不可变类型
集合内没有重复的元素
集合内元素无序
#注意1:
列表类型是索引对应值,字典是key对应值,均可以取得单个指定的值,而集合类型既没有索引也没有key与值对应,所以无法取得单个的值,而且对于集合来说,主要用于去重与关系运算,根本没有取出单个指定值的这种需求。
#注意2:
{ }既可以用于定义字典,也可以用于定义集合,但是字典内的元素必须是key:value键值对的格式

1、类型转换

  • 支持 for 循环的数据类型都可以转成集合,并且集合内元素只能是不可变类型
  • 两大功能:
    1). 去重:集合内不能出现重复的元素(自带去重特性),如果出现了 会被集合自动去重
    2).关系运算:判断两个群体内的差异,就好比如我们之间的共同好友、共同关注、共同点赞之类的
print(set(11))  # 报错
print(set(11.11))  # 报错
print(set('jason'))
print(set([11,22,33,44]))
print(set({'name':'jason'}))
print(set((11,22,33)))
print(set(True))  # 报错
# 去重操作,去除了重复但是打乱了顺序
l = ['a', 'b', 1, 'a', 'a']
print(set(l))      # {1, 'a', 'b'}

2、关系运算

f1 = {'jason', 'kevin', 'tony', 'jerry'}  # 小李的好友列表
f2 = {'jason', 'tom', 'jerry', 'jack'}  # 小王的好友列表
# 1.求两个人的共同好友
print(f1 & f2)  # {'jerry', 'jason'}
# 2.求小李的单独好友
print(f1 - f2)  # {'kevin', 'tony'}
# 3.求两个人所有的好友
print(f1 | f2)  # {'kevin', 'jack', 'tom', 'jason', 'jerry', 'tony'}
# 4.求两个人各自的好友
print(f1 ^ f2)  # {'jack', 'tony', 'tom', 'kevin'}
posted @   槐序八  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示