Python3-基础-数据类型-tuple(元组)、dict(字典)、set(集合)

tuple(元组)

注意:元组数据不允许修改

tu = (1, 2, 3)
tu2 = (4,)     # 只有一个元素时,要有逗号
print(tu)
print(tu2)

count 和 index 跟列表中的用法相同

tu3 = ('a', 'b', 'c', 'a')
print(tu3.index('b'))   # 返回下标
print(tu3.count('a'))    # 返回个数

dict(字典)

1 定义

        dict_1 = { }

dic = {'name': 'skye', 'age': '18'}
print(dic)

2  字典中 键具备唯一性,值可以重复

dic1 = {'name': 'zhang3', 'name': 'li4'}
print(dic1)     # {'name': 'li4'}
dic2 = {'name': 'zhang3', 'name2': 'li4'}
print(dic2)    # {'name': 'zhang3', 'name2': 'li4'}

3  字典常见操作--增删改查

       1  增加(添加)元素 -- 增加键值对

d = {'name': 'zs', 'id': '99'}
d['del'] = 123456
print(d)

        2 删除元素 -- del/clear

d = {'name': 'zs', 'id': '99'}
del d['id'] # 删除指定值
print(d)    # {'name': 'zs'}
d.clear()   # 清空数据
print(d)    # {}
del d       # 删除字典
print(d)    # NameError: name 'd' is not defined

        3 修改元素 -- 值覆盖

d = {'name': 'zs', 'id': '99'}
d['id'] = 18
print(d)           # {'name': 'zs', 'id': 18}

        4 查询元素 --  根据键名访问值

dic3 = {'name': '喜洋洋', 'name3': '灰太狼'}
print(dic3['name'])
print(dic3['name2'])
print(dic3.get('name2', '不存在'))  # 如果没有那个键名,返回默认值('键名', '默认值')

4 字典其他操作

        1 len() 求长度

dic3 = {'name': '喜洋洋', 'name3': '灰太狼'}
print(len(dic3))   # 2

        2  keys() 返回所有键名--以列表的方式

dic3 = {'name': '喜洋洋', 'name3': '灰太狼'}
print(dic3.keys())  # dict_keys(['name', 'name3'])
for i in dic3:   # 逐一取出
    print(i)

        3  values() 返回所有值--以列表的方式

dic3 = {'name': '喜洋洋', 'name3': '灰太狼'}
print(dic3.values())  # dict_values(['喜洋洋', '灰太狼'])
for i in dic3.values():   # 逐一取出
    print(i)

        4  items() 返回所有键值对--以元组方式

dic3 = {'name': '喜洋洋', 'name3': '灰太狼'}
print(dic3.items())  # dict_items([('name', '喜洋洋'), ('name3', '灰太狼')])
for i in dic3.items():   # 逐一取出
    print(i)

set(集合)-- 无序性、唯一性 -- { }

 1 定义

s = {'a', 'b', 'c', 1, 2, 3}
print(s)
print(type(s))

2 集合常见操作

        1 添加元素--add/update

# 集合---add(整体)/update(拆分)
s = {'a', 'b', 'c', 1, 2, 3}
s.add('dfg')
print(s)
s.update('xvb')
print(s)

        2 删除元素--remove/pop/discard

# remove  有则删除,无则报错
# pop  先无序排列,后首元素删除
# discard  有则删除,无则不操作
s = {'a', 'b', 'c', 1, 2, 3}
s.remove(1)
print(s)  # {'c', 2, 3, 'a', 'b'}
s.pop()
print(s)  # {2, 3, 'a', 'b'}
s.discard('a')
print(s)  # {2, 3, 'b'}

3  交集 & 和 并集 |

a = {1, 2, 3}
b = {2, 3, 4}
print(a & b)   # {2, 3}  # 无交集则显示  set()
print(a | b)   # {1, 2, 3, 4}

4  无序性

# 为什么整数不会无序排列?
# 集合无序的实现方式是hash表
print(hash('a'))
print(hash('b'))
print(hash('c'))  # 每次的hash值都不同,那么在hash表中的位置也不同,这样就实现了集合的无序性
print(hash(1))
print(hash(2))
print(hash(3))  # python中int整型的hash值就是它本身,所以顺序就不会变

 以上是作者学习总结,分享所学,共同进步。如若哪处有误,感谢指出!    

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Q _Q

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值