字典

字典的优点:

dict key 必须是不可变数据类型,可哈希,

value:任意数据类型。

dict 优点:二分查找去查询

存储大量的关系型数据

特点:无序的(指的是不可人为的去改变顺序)

数据类型划分为:可变数据类型和不可变数据类型

可变数据类型(不可哈希的):

list、dict、set

不可变数据类型(可哈希的):

int、str、tuple、bool

定义一个字典
dict1 = {'age': 25, 'sex': '男', 'hight': 171}
字典的增
dict1['eye'] = 'blue'
{'age': 25, 'sex': '男', 'hight': 171, 'eye': 'blue'} # setdefault 函数
字典中有这个键,就什么都不做
dict1.setdefault('eye', 'green')
{'age': 25, 'sex': '男', 'hight': 171, 'eye': 'blue'} 字典中没有这个键,就增加
dict1.setdefault('city', 'hangzhou')
{'age': 25, 'sex': '男', 'hight': 171, 'eye': 'blue', 'city': 'hangzhou'} 不指定值,则默认为None
dict1.setdefault('city')
{'age': 25, 'sex': '男', 'hight': 171, 'eye': 'blue', 'city': None}

字典的删除

最原始的方法,但是如果删除的键不存在则会报错导致程序崩溃 无返回值
del dict1['age'] # 保险的方法 pop函数
如果有键则删除,没有就返回指定的None,返回值是指定键的值
dict1.pop('age', None) 清空字典
dict1.clear() 随机删除一个键 有返回值,以元组形式的键值对
dict1.popitem()

字典的修改

直接修改
dict1['age'] = 35 update函数 更新合并
dic = {'names': 'jm001', 'sex': 'woman'}
dict2 = {'hight': 172} dic2更新合并dic
dict2.update(dic)
{'hight': 172, 'names': 'jm001', 'sex': 'woman'}

字典的查

dict1 = {'age': 25, 'sex': '男', 'hight': 171}
dict1.keys()
dict_keys(['age', 'sex', 'hight']) dict1.values()
dict_values([25, '男', 171]) dict1.items()
dict_items([('age', 25), ('sex', '男'), ('hight', 171)]) 位置的交换
a = 1
b = 2
b, a = a, b
2 1
a, b = [1, 2]
1 2
a, b = [2,3], [5,6]
[2, 3] [5, 6] 原始的查找,如果找不到会报错
dict1['age'] get函数查找,找不到就默认返回None,当然也可以指定
dict1.get('age', None)

字典的混合使用

dict_json = {
'city': ['北京', '上海', '杭州'],
'data': {
'name': 'jm001',
'sex': 'xiaoxinggan',
'video_list': ['s', 'a', 'd']
},
'age': 25
}

向city字段里面追加 深圳
dict_json['city'].append('深圳')
print(dict_json)
{'city': ['北京', '上海', '杭州', '深圳'], 'data': {'name': 'jm001', 'sex': 'xiaoxinggan', 'video_list': ['s', 'a', 'd']}, 'age': 25} 把data里的sex 值全部改为大写
dict_json['data']['sex'] = dict_json['data']['sex'].upper()
print(dict_json)
{'city': ['北京', '上海', '杭州', '深圳'], 'data': {'name': 'jm001', 'sex': 'XIAOXINGGAN', 'video_list': ['s', 'a', 'd']}, 'age': 25} 向s里面添加键值对 hobby:eat
dict2 = {'hobby': 'eat'}
dict_json['data']['video_list'].append(dict2)
print(dict_json)
{'city': ['北京', '上海', '杭州', '深圳'], 'data': {'name': 'jm001', 'sex': 'xiaoxinggan', 'video_list': ['s', 'a', 'd', {'hobby': 'eat'}]}, 'age': 25}

需求

随便输入一个字符串中包含数字和字母的,找出相连整数出现的次数

info = input('>>>')

for i in info:
if i.isalpha():
info = info.replace(i, ' ')
res = info.split()
l = len(res)
print(l)

这里需要注意一下,for循环一个不可变类型,其实是一开始就将整个循环次数循序的机制读取到内存中,不管这个类型在你操作后怎么变化,这些机制是从始至终都要执行完毕的

Python基础之字典操作的更多相关文章

  1. python基础之字典dict和集合set

    作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7043642.html python基础之字典dict和集合set 字典dic ...

  2. Python基础数据类型-字典(dict)

    Python基础数据类型-字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版本的哟 ...

  3. python基础篇(文件操作)

    Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...

  4. python基础之字典、集合

    一.字典(dictionary) 作用:存多个值,key-value存取,取值速度快 定义:key必须是不可变类型,value可以是任意类型 字典是一个无序的,可以修改的,元素呈键值对的形式,以逗号分 ...

  5. python 基础之字典一

    字典特点:无序.键唯一 字典的创建 bag = {'cx':'chenxi','gghg':35} print(bag['cx']) 测试 chenxi Process finished with e ...

  6. Python基础语法day_04——操作列表

    day_04 遍历整个列表 我们创建列表时,需要输出整个列表,但是通常列表会很长,包含很多元素,当列表长度发生变化是,都必须修改代码.通过for循环,我们可以很轻易地输出整个列表. #遍历整个列表 创 ...

  7. Python基础知识---字典

    现在在实习期间,好久没用Python了,今天在做Java项目时用的HashMap让我联想到了Python中的字典,就写一些Python字典的知识吧,复习复习. 字典:  key --> valu ...

  8. [Python Study Notes]字典操作

    字典操作 a.增加 >>> info["stu1104"] = "abc" >>> info {'stu1102': 'x5 ...

  9. Python基础之字典

    字典初识 字典的认识 首先,我们来认识一下字典: # 定义一个字典 user_dict = {"name": "zhangsan", "age&quo ...

随机推荐

  1. iPhone may be running a version of iOS that is not supported by this version of Xcode

    Xcode6.0.1对ios8.1真机不识别,升级Xcode6.0.1为Xcode6.1,就行了.也可以,降低手机版本为以前的版本,想要降低手机版本请看我的另一片博客<iphone手机版本降级& ...

  2. 4. mysql 1449 : The user specified as a definer ('test'@'%') does not exist 解决方法

    权限问题,授权 给 root  所有sql 权限 mysql> grant all privileges on *.* to test@"%" identified by & ...

  3. 国内好的python学习地址

    python3官方在线文档https://docs.python.org/3/ 玩蛇网http://www.iplaypy.com/ python中文网 http://bbs.pythontab.co ...

  4. Flex自定义组件、皮肤,并调用

    标签:Flex  自定义组件  自定义皮肤  主应用调用模块 本程序样例学习自flex 实战教程.但因原教程代码不全,且根据个人需求有更改. 1文件列表 自定义as类Reveal.as,该类实现组件的 ...

  5. Python常用时间操作总结【取得当前时间、时间函数、应用等】转载

    Python常用时间操作总结[取得当前时间.时间函数.应用等] 转载  2017-05-11   作者:清风乐逍遥    我要评论 这篇文章主要介绍了Python常用时间操作,包括取得当前时间.时间函 ...

  6. windows系统安装

    系统最新地址:https://www.microsoft.com/zh-cn/software-download/windows10

  7. Nginx 服务器搭建

    什么是Nginx ? Nginx与Apache IIS等软件一样,是一款服务器软件,为web站点提供服务 除此之外,Nginx 还是一款反向代理服务器,我们可以利用Nginx实现负载均衡 所谓负载均衡 ...

  8. roadhog resolve alias 绝对路径 别名使用

    新建 webpack.config.js 然后加入 如下代码 module.exports = (webpackConfig, env) => { // 别名配置 const data = we ...

  9. DOS 格式化日期时间输出

    if "%date:~5,2%" lss "10" (set mm=0%date:~6,1%) else (set mm=%date:~5,2%)if &quo ...

  10. pgsql restart

    /etc/init.d/postgresql restart