Python字典客储存任意类型的对象,如字符串、数字、元祖、列表、字典、bool等。

      优点:取值方便,速度快

1.创建字典

  字典由键(key)和对应值(value)成对组成。

  字典也被称作关联数组或哈希表。

    基本语法如下:

      dic = {"name":"李文强","age":"10","sex":"男"}

  注意:

    每个键与值用冒号隔开(:),每对用逗号分割,整体用花括号{}

    键值独一无二(也被称作客哈希),但值则不必。

    值可以取任何数据类型,但键必须是不可变的,如字符串,整数或元组。

2.字典的增

# dic['li'] = ["a","b","c"]  #等于号前后分别是键/值
# print(dic)
# setdefault 在字典中添加键值对,如果只有键那对应的值是none,但是如果原字典中存在设置的键值对,则他不会更改或者覆盖。
# dic.setdefault('k','v')
# print(dic) # {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
# dic.setdefault('k','v1') # {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
# print(dic)

3.字典的删

d.pop('key')  #必须要传值,因为字典是无序的

d.popitem()  #随机删除一个

d.clear()  #清空字典

del d['key']  #

4.字典的改

d['key'] =value  #key 存在即修改,key不存在即新增

d.setdefault('key',value)  只能新增

dic2.update(dic)

5.字典的查

# value1 = dic["name"]  # 没有会报错
# print(value1)
#
# value2 = dic.get("djffdsafg","默认返回值") # 没有可以返回设定的返回值
# print(value2)
print(d['key'])    #如果键值不存在,会报错
print(d.get('key')) #如果键值是不存在的值,返回None
print(d.get('key','not find')) #如果键值不存在,返回“not find”

print(d.keys()) 获取所有key值
print(d.value()) #获取所有value值
if 'key' in d: #判断key是否存在
print('key')
for k,v in d.items(): #遍历字典
print(k,v) #无需转化成list格式,保留了字典原有的特性 for k in dict:
print(k, dict[k])
print(k,dict.get(k)) #取值速度快,性能好

6.字典的其他

print(dict.item())  输出一个list格式(非真正意义上的list)

print(list(dict.items()))  把字典的key和value 转成一个多维list

输出结果:

len(dict):  计算字典元素个数,即键的总数。

str(dict):  输出字典可打印的字符串。

type(variable):  返回输入的变量类型,如果变量是字典就返回字典类型。

7.最后一点

# 通过一行语句创建一个这样的字典{1: 'alex', 2: 'alex', 3: 'alex'}?

# 不能直接写 dic={1:'alex',2:'alex',3: 'alex'})

t = dict.fromkeys((1,2,3),'alex')

print(t)

知识扩展:

Python_str_字符串_常用办法总结

Python_list_常用方法总结

Python dict_字典 常用办法总结

Python_内置函数源码总结

Python__魔法方法__总结

3. Python 字典 常用办法总结的更多相关文章

  1. python 字典常用操作

    字典键是唯一的,但值则不是 一个简单的字典 dict = {"guo":"1106","tang":"0809",&qu ...

  2. 1.Python_字符串_常用办法总结

    明确:对字符串的操作方法都不会改变原来字符串的值. 1.去掉空格和特殊符号 name.strip() 去掉空格和换行符 name.strip("xx") 去掉某个字符串 name. ...

  3. python的学习笔记01_3 基本运算符 流程控制if while 字符串常用办法

    基本运算符 运算符 计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.位运算,今天我们暂只学习算数运算.比较运算.逻辑运 ...

  4. [python]pythonic的字典常用操作

    注意:dct代表字典,key代表键值 1.判断字典中某个键是否存在 实现 dct.has_key(key) #False 更Pythonic方法 key in dct #False 2.获取字典中的值 ...

  5. python字典的常用操作方法

    Python字典是另一种可变容器模型(无序),且可存储任意类型对象,如字符串.数字.元组等其他容器模型.本文章主要介绍Python中字典(Dict)的详解操作方法,包含创建.访问.删除.其它操作等,需 ...

  6. python算法常用技巧与内置库

    python算法常用技巧与内置库 近些年随着python的越来越火,python也渐渐成为了很多程序员的喜爱.许多程序员已经开始使用python作为第一语言来刷题. 最近我在用python刷题的时候想 ...

  7. 自己动手实现 HashMap(Python字典),彻底系统的学习哈希表(上篇)——不看血亏!!!

    HashMap(Python字典)设计原理与实现(上篇)--哈希表的原理 在此前的四篇长文当中我们已经实现了我们自己的ArrayList和LinkedList,并且分析了ArrayList和Linke ...

  8. Python字典详解

    转载请注明出处 Python字典(dict)是一个很常用的复合类型,其它常用符合类型有:数组(array).元组(touple)和集合(set).字典是一个key/value的集合,key可以是任意可 ...

  9. python字典(dictionary)使用:基本函数code实例,字典的合并、排序、copy,函数中*args 和**kwargs做形参和实参

    python字典dictionary几个不常用函数例子 一.字典声明 如,d={}; d= {'x':1,'b':2} d1 = dict(x=1,y=2,z=3)     d2 = dict(a=3 ...

随机推荐

  1. window下Nexus私服高级搭建

    环境是:nexus-2.1.1.maven-3.0.4.jdk-1.6.0_32 一.用admin用户登陆nexus nexus的下载和安装都很简单 1.下载 http://www.sonatype. ...

  2. break #立即终止本次循环

    #!/user/bin/python# -*- coding:utf-8 -*-# print(111)# while True:# print(222)# print(333)# break #立即 ...

  3. 建立Heapster Influxdb Grafana集群性能监控平台

    依赖于kubenets dns服务 图形化展示度量指标的实现需要集成k8s的另外一个Addons组件: Heapster .Heapster原生支持K8s(v1.0.6及以后版本)和 CoreOS , ...

  4. vue @blur v-model数据没有更新问题

    今天遇到一个问题,是一个输入框绑定了一个失去焦点事件,要发送一个客户填写的数据给后台查询然后拿到返回值把它渲染到页面上,但是从后台获取到的数据却没有在页面上渲染出来,console.log打印时显示数 ...

  5. Web API中使用CORS解决跨域

    Web API中使用Cros解决跨域 如果两个页面的协议,端口和域名都相同,则两个页面具有相同的源,注:IE不考虑端口,同源策略不会阻止浏览器发送请求,但是它会阻止应用程序看到响应.如下图所示 COR ...

  6. Ubuntu 18.04 设置开机启动脚本 rc.local systemd

    ubuntu18.04不再使用initd管理系统,改用systemd. ubuntu-18.04不能像ubuntu14一样通过编辑rc.local来设置开机启动脚本,通过下列简单设置后,可以使rc.l ...

  7. Django之组件--forms

    forms组件(详细) 功能: 1 校验字段功能 2 渲染标签功能 3 渲染错误信息功能 4 组件的参数配置 5 局部钩子 6 全局钩子 类中使用: 1.定义 from django import f ...

  8. linux xargs【转】

    -i -I 参数区别 http://man.linuxde.net/xargs 它们都是用来作参数扩展替换的,以下两句代码其实效果一样 cat arg.txt|xargs -i sh sk.sh -p ...

  9. 【leetcode-86】 分隔链表

    (1过) 给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前. 你应当保留两个分区中每个节点的初始相对位置. 示例: 输入: head = 1-> ...

  10. java如何调用对方http接口(II)

    java如何调用接口 在实际开发过程中,我们经常需要调用对方提供的接口或测试自己写的接口是否合适,所以,问题来了,java如何调用接口?很多项目都会封装规定好本身项目的接口规范,所以大多数需要去调用对 ...