python学习笔记(十)

一、字典的创建

  • 使用花括号

       scores={'张三':100,'李四':98,'王五':45}

  • 使用内置函数dict()

       dict(name='jack',age=20)

'''字典的创建方式'''
'''使用{}创建字典'''
scores={'张三':100,'李四':98,'王五':45}
print(scores)
print(type(scores))
'''第二种创建dict()'''
student=dict(name='jack',age=20)
print(student)
'''空字典'''
d={}
print(d)

二、字典的常用操作

  • 字典中元素的获取
  1. []: scores['张三']
  2. get():scores.get('张三')
  • []取值与使用get()取值的区别
  1. []如果字典中不存在指定的key,抛出KeyError异常
  2. get()方法去职,如果字典中不存在指定的key,并不会抛出KeyError而是返回None,可以通过参数设置默认的value,以便指定的key不存在时返回
scores={'张三':100,'李四':98,'王五':45}
'''第一种方式,使用[]'''
print(scores['张三'])

'''第二种方式,使用get()'''
print(scores.get('张三'))
print(scores.get('陈刘')) #None
print(scores.get('马奇',99)) #99是在查找‘马奇’所在walue不存在时,提供的默认值
  • key的判断

in→指定的key在字典中存在返回True→‘张三’ in scores

not in→指定的key在字典中不存在返回True→‘Marry’ not in scores

  • 字典元素的删除

          del scores['张三']

  • 字典元素的新增

          scores['Jack']=90

'''key的判断'''
scores={'张三':100,'李四':98,'王五':45}
print('张三' in scores)
print('张三' not in scores)

del scores['张三']
print(scores)
scores.clear() #清空字典的元素
print(scores)

scores['马奇']=98 #新增
print(scores)

scores['马奇']=100 #修改
print(scores)
  • 获取字典视图的三个方法
  1. keys()→获取字典中所有key
  2. values()→获取字典中所有value
  3. items()→获取字典中所有key,value对
scores={'张三':100,'李四':98,'王五':45}
#获取所有的key
keys=scores.keys()
print(keys)
print(type(keys))
print(list(keys)) #将所有的key组成的视图转成列表

#获取所有的values
values=scores.values()
print(values)
print(type(values))
print(list(values))

#获取所有的key-values对
items=scores.items()
print(items)
print(list(items)) #转换之后的列表元素是由元组组成

  • 字典元素的遍历

        for item in scores:

              print(item)

scores={'张三':100,'李四':98,'王五':45}
#字典元素的遍历
for item in scores:  #一定要记得加英文冒号!!!
  print(item,scores[item],scores.get(item))

三、字典的特点

  • 字典中的所有元素都是一个key-value对,key不允许重复,value可以重复
  • 字典中的元素是无序的
  • 字典中的key必须是不可变对象
  • 字典也可以根据需要动态地伸缩
  • 字典会浪费较大的内存,是一种使用空间换时间的数据结构
d={'name':'张三','name':'李四'}
print(d)

d={'name':'张三','2name':'张三'}
print(d)

lst=[10,20,30]
lst.insert(1,100)
print(lst) #字典不一样,字典是无序的

四、字典生成式

  • 内置函数zip()

       用于将可迭代(可以被for -in遍历)的对象作为参数,将对象中对应的元素打包成一个元组,然后返回由这些元组组成的列表

items=['Fruits','Books','Others']
prices=[96,98,100,111,999]
d={item.upper():price    for item,price in zip(items,prices)}
print(d)

五、什么是元组 (使用小括号定义)

  • 元组:python内置的数据结构之一,是一个不可变序列
  • 不可变序列与可变序列
  1. 不可变序列:字符串、元组;没有增、删、改的操作
  2. 可变序列:列表、字典;可以对 序列执行增、删、改操作,对象地址不发生更改
'''不可变序列 可变序列'''
'''可变序列 列表,字典'''
lst=[10,20,40]
print(id(lst))
lst.append(300)
print(id(lst))
'''不可变序列,字符串,元组'''
s='hello'
print(id(s))
s=s+'world'
print(id(s))
print(s)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值