Python——字典

  1. 字典的定义:
    字典是一个无序的数据集合,使用print输出字典的时候
    通常输出的顺序和定义的顺序是不一致的

     users = ['user1','user2']
     passwd = ['123','456']
    
     print(zip(users,passwd))
     print(list(zip(users,passwd)))
     print(dict(zip(users,passwd)))
    

在这里插入图片描述

    s = {}
    print(type(s))

在这里插入图片描述
key - value 键值对:value可以是任意数据类型

s = {
    'linux':[100,99,88],
    'westos':[190,564,645]
}
 
print(s,type(s))

在这里插入图片描述
3)工厂函数:dict()
在这里插入图片描述
4)字典的嵌套

students = {
    '03113009':{
        'name':'sue',
        'age':18,
        'score':80
    },
    '03113010':{
        'name': 'harry',
        'age': 30,
        'score': 59
    }
}
 
print(students['03113010']['name'])

在这里插入图片描述

 print({}.fromkeys({'1','2'},'000000'))

在这里插入图片描述

  1. 字典的特性:

1)字典不支持索引

d = {
    '1':'a',
    '2':'b'
}
 print(d[0])

在这里插入图片描述
2)字典不支持切片

 print(d[:])

在这里插入图片描述
3)成员操作符

 print('1' in d)

4)for循环,默认遍历字典的key值

for i in d:
    print(i)

5)遍历字典

for i in d:
    print(i,d[i])
  1. 字典的常用方法:
    1)增加

1>增加一个

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

 services = {
'http':80,
'ftp':21,
'ssh':22
 }
 services['mysql'] = 3306
 print(services)

在这里插入图片描述
在这里插入图片描述
2>添加多个key-value值

services_backup = {
    'https':443,
    'tomcat':8080,
    'http':8080
}
 
services.update(services_backup)
print(services)

services.update(flask=9000,http=8000)
print(services)

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

setdefault添加key值
如果key值存在,不做修改
如果key值不存在,添加对应的key-value

 services.setdefault('http',9090)
 print(services)

在这里插入图片描述

 services.setdefault('oracle',44575)
 print(services)

在这里插入图片描述
删除

services = {
    'http':80,
    'ftp':21,
    'ssh':22
}

1>del删除:

删除指定元素:

del services['http']
print(services)

在这里插入图片描述
pop删除指定key的key-value
如果key存在,删除,并返回删除key对应的value
如果不存在,报错

2>pop删除

pop删除指定key的key-value
如果key存在,删除,并返回删除key对应的value
如果不存在,报错

 item = services.pop('http')
 print(item)
 print(services)

3>popitem删除

popitem删除最后一个key-value值

 tem = services.popitem()
 print('删除的是:',item)
 print(services)

查看

services = {
    'http':80,
    'ftp':21,
    'ssh':22
}

1>查看字典的key值

 print(services.keys())

2>查看字典的value值

 print(services.values())

3>查看字典的key-value值

 print(services.items())

4>查看key的value值

key不存在,默认返回none
key不存在,有default值,则返回default值

 print(services.get('http'))

5> 遍历

for k,v in services.items():
    print(k,'--->',v)

在这里插入图片描述

 for k in services:
     print(k,'--->',services[k])

在这里插入图片描述

6>get方法获取指定key对应的value

 print(services.get('https','key not exist'))
  1. 练习:

题目要求:
1) 随机生成1000个整数
2) 数字范围[20,100]
3) 升序输出所有不同的数字及其每个数字的重复次数

 import random

 b = []
 num_dict = {}
 ##随机生成1000个[20,100]的随机数
 for i in range(1000):
a = random.randint(20, 100)
b.append(a)
b2 = sorted(b)
 print(b)


 for item in b2:
if item not in num_dict:
    num_dict[item] = 1
else:
    num_dict[item] += 1
 print(num_dict)
 for k, v in num_dict.items():
     print(k, '出现了:', v, '次')

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值