学习Python第5天_dict&set&tuple&排序算法(冒泡排序、选择排序)

仅记录个人学习Python所学,学识浅薄,若有错误欢迎指出。文章可能会不太完善,后续可能会继续更新。

一、字典dict

语法: {键1: 值1, 键2: 值2, 键3: 值3, …, 键n: 值n}

说明:键值对: key-value

  • 字典和列表类似,都可以用来存储多个数据
  • 在列表中查找某个元素时,是根据下标进行的;字典中找某个元素时,是根据’名字’(就是冒号:前面的那个值,例如上面代码中的’name’、‘id’、‘sex’)
  • 字典中的每个元素都由2部分组成,键:值。例如 ‘name’:‘班长’ ,'name’为键,'班长’为值
  • 键可以使用数字、布尔值、元组,字符串等不可变数据类型,但是一般习惯使用字符串,切记不能使用列表等可变数据类型
  • 每个字典里的key都是唯一的,如果出现了多个相同的key,后面的value会覆盖之前的value
# 字典 dictionary dict
# 1.里面的元素是一个键值对 key-value
# 2.key 有3个特点 :
#   a. 唯一
#   b.不可变类型
#   c.无序(没有下标)

# 1. 创建字典
d = {
   "name": "zs", "age": 22, "height": 180}
print(d)
# d = {1: 11, 2: 10}
# print(d)

# 2 . 查: 通过key获取value
print(d['name'])
print(d.get('name'))

# print(d['sex'])    # 找不到key,报错
print(d.get('sex'))  # 找不到key 不报错,但是返回None
print(d.get('sex', "man"))  # 找不到key 不报错,返回默认值

key = "name"
print(d[key])
print(d.get(key))
print()

# 3. 遍历字典
d = {
   "name": "蔡徐坤", "age": 22, "height": 180}
for k in d:
    print(k)    # key

for k in d.keys():
    print(k)    # key

for v in d.values():
    print(v)    # value

for k, v in d.items():
    print(k, v)

k = d.keys()
print(k, list(k))   # dict_keys(['name', 'age', 'height']) ['name', 'age', 'height']

# 4. 合并
# print({1: 2} + {3: 4})  # 错误
d1 = {
   1: 2}
d2 = {
   3: 4}
d1.update(d2)
print(d1)      # {1: 2, 3: 4}

# 5. 增删查改
d = {
   "name": "蔡徐坤", "age": 22, "height": 180}
# 增
d['sex'] = '男'
print(d)

# 改     只能修改值
d['age'] = 30
print(d)

# 删
d.pop('age')    # 删除指定key的元素
# d.clear()   # 清空字典
d.popitem()     # 删除最后一项,可以认为随机删除一项
print(d)

# 6. 长度
print(len(d))

# 7. 成员     # 判断key在字典中是否存在
print('age' in d)

# 8.zip
d = dict(name='鹿晗', age=30)
print(d)

d = dict(zip(['name', 'age'], ['鹿晗', 30]))
d = dict(zip('123', 'abc'))
print(list(zip(['name', 'age'], ['鹿晗', 30])))
print(d)
"""
列表和字典的区别:
    列表 list :
        1. 定义方式:[] ,一般存放相同类型的数据
        2. 内存相对字典较小
        3. 数据量比较大时,数据越大越明显 ,查找所需时间越久
    字典 dict :
        1. 定义方式 :{} ,一般存放同一个事物的不同属性
        2. 内存消耗会比较大
        3. 数据量多少对查找速度影响不大
"""
二、集合set

特点:不允许有重复元素,可以进行交集,并集,差集的运算
本质:无序,无重复元素的集合
一般还是用列表多一点

# 1. 创建集合
s = {
   1, 2, 3, 2, 5, 3, 6}
print(s)

s = set()
print
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值