元组&字典

1.元组 tuple

  • 元组是一个不可变的序列(一般当我们希望数据不改变时,使用元组。其他情况基本使用列表)
  • 元组不是空元组至少有一个逗号(,) 当元组不是空元组时括号可以省略

my_tuple = 1,2,3,4

  • 元组解包将元组当中每一个元素都赋值给一个变量
a,b,*c =  my_tuple
#变量和元素没有对等时  *c 获取剩余的,以列表形式返回

2.可变对象

Python中,数值类型(int和float)、字符串str、元组tuple都是不可变类型
⽽列表list、字典dict、集合set是可变类型
可变对象中都保存了三个数据

  • id 标识
  • type 类型
  • value 值

3.字典

  • 列表存储数据的性能好,但是查询数据的性能差,字典正好与之相反
  • 字典也称之为键值对(key-value)结构
  • 每个字典中都可以有多个键值对,⽽每⼀个键值对我们称其为⼀项(item)
  • 创建⼀个有数据的字典 语法 {key:value}
  • 字典的值可以是任意对象 字典的键可以是任意的不可变对象(int str boo tuple…)
  • 字典的键是不能重复的,如果出现重复的后⾯的会替换前⾯的

3.1 字典的使用

  • 可以通过dict()函数来创建字典
    d = dict(name='tom',age=8 )
  • 双值子序列
    d = dict([('name','tony'),('age',6)])
  • len函数:可以获取字典中键值对的个数
  • get(key,default):该方法可以根据字典中的key来获取值,如果获取的键不存在,就会返回None
    dict.get('grade','该值不存在')
  • 修改字典
    1.dict.setdefault(key,default)
    字典中添加key-value
    如果key已经存在字典中,则返回key的值,不会对字典做任何操作
    如果key不存在,则向字典中添加这个key,并设置value
    2.update()
    将其他字典的key-value添加到当前的字典当中
    dict1.update(dict2)
    3.del
    删除字典中的key-value
    del dict['name']
    4.popitem()
    删除字典最后一个key-value 有返回值
    删除之后他会将删除的key-value作为返回值返回,返回的是一个元组,元组中有两个元素,第一个元素是key,第二个元素是value。
    dict.popitem()
    5.pop(key,default)
    根据key删除字典中的key-value,会将删除的值返回
    dict.pop('name','没有这个key值')
    6.copy()
    对字典的浅复制:只复制字典本身,如果字典还有个字典是不会进行复制的

3.2 遍历字典

  • keys() 返回字典所有的key
for k in d.keys()
#返回key
print(k)
#返回字典的值
print(d[k])
  • values() 返回一个序列,该序列中保存有字典的值
for v in d.values():
print(v)

  • items() 返回字典所有的项,是一个序列,包含双值子序列
print(d.items()) 
#或者
for k,v in d.items():
print(k,v)

集合

  • 集合表现形式set 集合和列表⾮常相似
    不同点
    集合只能存储不可变对象
    集合中存储的对象是⽆序的
    集合不能出现重复元素

  • 使⽤{}来创建集合
    可以通过set()来将序列和字典转换成集合:

    • 使用set函数转换时,只包含字典的key
    • 不能通过索引来查找元素(可以先转换成列表再查找)
函数作用
len()获取集合中元素的数量
add()向集合中添加元素
update()将⼀个集合中的元素添加到另⼀个集合当中
pop()随机删除集合中的⼀个元素⼀般是删除最后⼀个元素
remove()删除集合中指定的元素
clear()清空集合
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值