Python学习(13)之字典(dict)

一、字典的定义

Python 字典是另一种 可变容器模型,且 可存储任意类型对象

  • 字典中的每个元素就是一个键值对键(key) : 值(value),由键和对应值成对组成,键和值的映射关系被称为一个键值对。每个键与值用冒号隔开(:),每对用逗号分割,整体放在花括号中{}
  • 键(key)必须使用不可变类型。在同一个字典中,键(key)必须是唯一的
  • 列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过来存取的,而不是通过偏移存取。

1、创建字典

s = {}
d = dict()

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

函数 的方式定义字典

d = dict(a=1,b=2)

在这里插入图片描述

在这里插入图片描述

花括号定义字典

s = {
	'linux':[100,90,80]
	'python':[89,90,100]
}

在这里插入图片描述

在这里插入图片描述

2、 字典的嵌套

在这里插入图片描述

在这里插入图片描述

二、字典的特性

  • 字典不支持切片

1、访问字典里的值

>>> dict = {'Name': 'Ran', 'Age': 21, 'Class': 'First'}
>>> print ( dict['Name'])
Ran
>>>

2、成员操作符(in)

在这里插入图片描述

在这里插入图片描述

3、for循环遍历

  • 字典的遍历主要是针对key值来说的,因为key的值是唯一的。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

三、对字典中元素的操作

在这里插入图片描述

1、对字典中元素的查看

在这里插入图片描述

  • 方括号查看某key对应的values值
    在这里插入图片描述
    在这里插入图片描述

  • 查看字典中所有的key值字典名.keys()

>>> dict = {'Name': 'Ran', 'Age': 21, 'Class': 'First'}
>>> print(dict.keys())
dict_keys(['Name', 'Age', 'Class'])
>>>

在这里插入图片描述

  • 查看字典中所有的value值dict.values()
>>> dict = {'Name': 'Ran', 'Age': 21, 'Class': 'First'}
>>> print(dict.values())
dict_values(['Ran', 21, 'First'])

在这里插入图片描述

  • 查看字典中的key-valuedict.items()
>>> dict = {'Name': 'Ran', 'Age': 21, 'Class': 'First'}
>>> print(dict.items())
dict_items([('Name', 'Ran'), ('Age', 21), ('Class', 'First')])
>>>

在这里插入图片描述

  • get()函数访问某键的值

当要访问的键值在字典中不存在时,get方法会返回一个none,而不是KeyError错误。

在这里插入图片描述
当要访问的键值在字典中不存在时,我们也可以指定一个默认值。

在这里插入图片描述

2、字典中元素的增加

  • Python中的字典是可变数据类型

在这里插入图片描述

2.1 增加元素

(1)增加一个元素如果key值存在,则更新对应的value值,如果key值不存在,则添加对应的值。

在这里插入图片描述
在这里插入图片描述

(2)增加多个元数:service.update()

在这里插入图片描述
在这里插入图片描述

3、字典中元素的修改

service.setdefault(key,values)

如果key值存在,不做修改,如果key值不存在,则添加对应的值
在这里插入图片描述
在这里插入图片描述

4、字典中元素的删除

4.1 pop()删除指定key对应的value值
  • pop()删除指定key对应的value值,且会返回对应的值

在这里插入图片描述
在这里插入图片描述

4.2 popitem()删除最后一个key-value
  • popitem()删除最后一个key-value,且会返回对应的值
    在这里插入图片描述
    在这里插入图片描述
4.3 clear()清空字典内容
  • 一次性删除字典中的所有元素。字典会变为空字典。

在这里插入图片描述

在这里插入图片描述

4.4 del删除字典本身
  • 当执行这个方法时,会将字典从内存中彻底删掉,并且不再存在。

四、练习

1、数字重复统计

在这里插入图片描述

import random
l = []
dict = {}
for i in range(0,1000):
    l.append(random.randint(20,100))
l.sort()
print(l)

for num in l:
    if num in dict:
        dict[num] += 1
    else:
        dict[num] = 1
print(dict.items())

在这里插入图片描述

2、重复的单词统计

在这里插入图片描述

dict = {}
l = (input('请输入句子:')).split(' ')

for word in l:
    if word in dict:
        dict[word] += 1
    else:
        dict[word] = 1
print(dict)

在这里插入图片描述

3、100个银行卡号

在这里插入图片描述

card_nums = []
card_dict = {}

print('\t卡号\t\t\t密码')
for i in range(1,101):
    card_nums.append('6102009%03d' % i)
    for cardNums in card_nums:
        card_dict[cardNums] = 'redhat'
    print(f'{card_nums[i-1]}\t\tredhat')

在这里插入图片描述
在这里插入图片描述

4、重要,理解字典

在这里插入图片描述
输出为:4

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值