Python 您所在的位置:网站首页 python语言字典 Python

Python

2024-07-16 09:16| 来源: 网络整理| 查看: 265

字典的定义

字典是一个无序的数据集合 通常输出的顺序和定义的顺序不一致

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 = { 'westos':[11,22,33], 'mysql':[44,55,66] } print(s) print(type(s))

在这里插入图片描述 工厂函数

d = dict() print(type(d))

在这里插入图片描述

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

在这里插入图片描述 字典的嵌套

students = { '02165071':{ 'name':'zyw', 'age':'18' }, '02165070':{ 'name':'lhr', 'age':'19' } } print(students['02165071']['name'])

在这里插入图片描述

所有的key的value值相同

#所有的key的value值相同 print({}.fromkeys({'1','2'},'000000'))

在这里插入图片描述

字典的特性

字典,不支持索引和切片,但可通过key值查询values值,key值唯一

字典不支持索引

在这里插入图片描述

字典不支持切片

在这里插入图片描述字典的重复和连接无意义 字典的key值是唯一的 成员操作符

d = { '1':'a', '2':'b' } print('1' in d)

在这里插入图片描述 for循环,默认遍历字典的key值

d = { '1':'a', '2':'b' } for key in d: print(key)

遍历字典

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

在这里插入图片描述

d = { '1':'a', '2':'b' } for k,v in d.items(): print(k,v)

在这里插入图片描述

字典的增加

如果key值存在,则更新对应的value值,如果key值不存在,则添加对应的key-value数值

service = { 'http':80, 'mysql':3306, 'smtp':25 } service['ftp'] = 21 print(service)

在这里插入图片描述

service = { 'http':80, 'mysql':3306, 'smtp':25 } service['ftp'] = 21 print(service) service['http'] = 443 print(service)

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

service = { 'http':80, 'mysql':3306, 'smtp':25 } service_backup = { 'https':443, 'tomcat':8080, 'http':8080 } service.update(service_backup) #service变,service_backup不变 print(service)

在这里插入图片描述

service = { 'http':80, 'mysql':3306, 'smtp':25 } service_backup = { 'https':443, 'tomcat':8080, 'http':8080 } service.update(flask=9000,http=8000) print(service)

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

service = { 'http':80, 'mysql':3306, 'smtp':25 } service.setdefault('http',9000) print(service) service.setdefault('oracle',44575) print(service)

在这里插入图片描述

字典的删除 del删除 service = { 'http':80, 'mysql':3306, 'smtp':25 } del service['http'] print(service)

在这里插入图片描述

pop删除

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

service = { 'http':80, 'mysql':3306, 'smtp':25 } item = service.pop('http') print(item) print(service)

在这里插入图片描述

service = { 'http':80, 'mysql':3306, 'smtp':25 } item = service.pop('https') print(item) print(service)

在这里插入图片描述

popitem

popitem删除最后一个key-value值对

service = { 'http':80, 'mysql':3306, 'smtp':25 } item = service.popitem() print(service)

在这里插入图片描述

clear

clear 清空字典内容

service = { 'http':80, 'mysql':3306, 'smtp':25 } service.clear() print(service)

在这里插入图片描述

字典的查看 查看字典的key值

print(services.keys())

service = { 'http':80, 'mysql':3306, 'smtp':25 } print(service.keys())

在这里插入图片描述

查看字典的value值

print(services.values())

service = { 'http':80, 'mysql':3306, 'smtp':25 } print(service.values())

在这里插入图片描述

查看字典的key-value值

print(services.items())

service = { 'http':80, 'mysql':3306, 'smtp':25 } print(service.items())

在这里插入图片描述

查看key的value值

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

service = { 'http':80, 'mysql':3306, 'smtp':25 } print(service.get('https'))

在这里插入图片描述

service = { 'http':80, 'mysql':3306, 'smtp':25 } for k in service: print(k,service[k])

在这里插入图片描述

get方法

如果key值存在,返回 如果不存在,默认返回None,如果需要指定返回值,传值即可

service = { 'http':80, 'mysql':3306, 'smtp':25 } print(service.get('https','key is not exit'))

在这里插入图片描述

字典练习 练习01

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

import random all_num = [] for item in range(1000): all_num.append(random.randint(20,100)) print(all_num) sorted_num = sorted(all_num) num_dict = {} for num in sorted_num: if num in num_dict: num_dict[num] += 1 else: num_dict[num] = 1 print(num_dict)

在这里插入图片描述

练习02

输入一串字符串,统计每个单词出现的次数 例如: ‘westos hello python westos’ westos 2 hello 1 python 1

思路: 1.把该字符串分割处理,以空格为分隔符 2.定义一个空字典,用字典存储该单词和他出现的次数 3.依次遍历循环列表,如果列表元素不再字典的key中,将元素key的value值为1,如果列表的元素在字典的key中,直接更新该key对应的value值,在原有的基础上加1

str = input('请输入: ') str_list = str.split() print(str_list) dict = {} for item in str_list: if item not in dict: dict[item] = 1 else: dict[item] += 1 print(dict)

在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有