Python之元组、字典、集合内置方法

常见的数据结构类型:链表、单链表、双链表、循环链表(c实现的 指针)

可变类型不可变类型

可变数据类型:值发生改变时,内存地址不变,即id不变,证明在改变原值

列表、字典

不可变类型:值发生改变时,内存地址也发生改变,即id也变,证明是没有在改变原值,是产生了新的值

数字、字符串、元组

元组

元组与列表类似,也是可以存多个任意类型的元素,不同之处在于元组的元素不能修改,即元组相当于不可变的列表,用于记录多个固定不允许修改的值,单纯用于取

元组就是列表的不可变类型版本

但凡能被for循环的遍历的数据类型都可以传给tuple()转换成元组类型

切记:

a = (123)
print(type(a))
<class 'int'>
​
b = ('123')
print(type(b))
<class 'str'>
# 要想使用元组类型 当只有一个元素时也要加 ,
a = (123, )
print(type(a))
<class 'tuple'>

字典

# 字典定义方式
info = {'name': 'fjw', 'age': '18'}
info = dict(name='fjw', age=18)
​
info1 = dict([['name', 'fjw'], ('age', 18)])
​
# 类型转换
default_Values = '666'
# 初始化
info2 = {}.fromkeys(('name', 'sex', 'age'),default_Values)
​
print(info1)
print(info2)
{'name': 'fjw', 'age': 18}
{'name': 666, 'sex': 666, 'age': 666}
​
​
# popitem() 删除并返回最后一组键值对
print(info2.popitem())
('age', 666)
​
​
# pop() 括号内填key  删除指定键值对,并返回该键值对的value
print(info2.pop('name'))
666
​
# update() 更新字典 存在则顶掉原来value 不存在则添加
info2.update({'hobby': 'basketball'})
print(info2)
{'name': 666, 'sex': 666, 'age': 666, 'hobby': 123}
​
​
# setdefault() key不存在则新增键值对,并将新增的value返回 key存在则不做任何修改,并返回已存在key对应的value值  与update() 唯一的的区别就是update会顶掉原来的value 而setdefault不会,但是会输出原来value
print(info2.setdefault('sex','777'))
666
​

集合

# 集合、list、tuple、dict一样都可以存放多个值,但是集合主要用于:去重、关系运算
d = {}      # 默认是空字典 
s = set()   # 这才是定义空集合
# 但凡能被for循环的遍历的数据类型(强调:遍历出的每一个值都必须为不可变类型)都可以传给set()转换成集合类型
​
​
friends1 = {"zero","kevin","jason","egon"} # 用户1的好友们
friends2 = {"Jy","ricky","jason","egon"}   # 用户2的好友们
# 合集/并集(|):求两个用户所有的好友(重复好友只留一个
print(friends1 | friends2)
# 交集(&):求两个用户的共同好友
print(friends1 & friends2)
# 差集(-):求friend1一独有的好友 如果是friend2 在前面就是求friend2独有的好友
print(friends1 - friends2)
# 对称差集(^) # 求两个用户独有的好友们(即去掉共有的好友)
print(friends1 ^ friends2)
# 值是否相等(==)  friend1 >= friend2 判断前者是否包含(或相等)后者 返回True 或者 False
# 去重

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值