摘要:

  python基础一数据类型之一字典,这篇主要讲字典。

1,定义字典

2,字典的基础知识

3,字典的方法

1,定义字典

1,定义1个空字典

dict1 = {}

2,定义字典

dict1 = dict(x=10,y=10)

3,将列表转换为字典

dict1 = dict([('a',10),('b',10)])

2,字典的基础知识

1,字典的key,value说明

dict1 = {'a':1,1:123} key是不可变的,所以key可以用元祖,但不然能用列表表示,另外字典是无序的且key是唯一的!

dict1 = {('a','b','c'):1,'name':'tom'}

这个是用列表表示key,这个是不可取的,会返回报错。

dict1 = {['a','b','c']:1,'name':'tom'}

获取字典中的值,通过key获取:
(dict1[('a', 'b', 'c')]
运行结果:1

更改字典中的值:
dict1[name] = 'tim'

2,将2个序列号化的数据类型转换为字典使用zip (序列化:字符串、列表、元祖、集合)

tuple1 = ('name','age')

tuple2 = ('tom','30')

dict1 = zip(tuple1,tuple2)

dict1 = dict(dict1)

3,字典的方法

  1. 1,clear() 清空字典
  2. dict1 = {'name':'tom','age''22'}
  3.  
  4. dict1.clear()
  5.  
  6. 运行结果:{}
  1. 2,copy() 复制字典
  2. dict1 = {'name':'tom','age:'22'}
  3.  
  4. dict2 = dict1.copy()
  5.  
  6. print dic
  7.  
  8. 运行结果:{'age': 22, 'name': 'tom'}

  

 

  1. 3,fromkeys 主要用于创建新的字典,value一样。
  2.  
  3. dict1 = dict.fromkeys('abc',100)
  4.  
  5. print dict1
  6.  
  7. 运行结果:{'a': 100, 'b': 100, 'c': 100}

  

  1. 4,get 用户判断字典中是否拥有某个key,,如果有返回对于的value,则返回None。当然,如果没有对应的value,也可以指定返回的字符。
  2. dict1 = {'name':'tom','age':'22'}
  3. dict1.get('name')
  4.  
  5.         运行结果:tom
  6. dict1 = {'name':'tom','age','22'}
  7. dict1.get('name1','no')
  8.         
  9.         运行结果:no

  

  1. 5,has_key 判断字典中是否含有某个key,如果存在返回True,否则返回False.
  2.  
  3. dict1 = {'name':'tom','age':'22'}
  4.  
  5. dict1.has_key('name1')
  6.  
  7.         运行结果:False

 

  1. 6,items 将字典作用的内容以列表的形式打印,一般用于将字典转换成列表。
  2.  
  3. dict1 = {'name':'tom','age':'22'}
  4.  
  5. print dict1.items()
  6.  
  7.         运行结果:[('age', 22), ('name', 'tom')]
  1. 7,iteritems 获取所有的item,只是返回的是一个生成器。和itmes的区别在于item会将字典中内容一次性输出出来,而生成器是你用到哪个我就生成哪个。
  2.  
  3. dict1 = {'name':'tom','age':'22'}
  4.  
  5. for k,v in dict1.iteritmes():
  6.   print k,v
  7.  
  8.         运行结果:age 22
  9.              name tom

  

  1. 8,iterkeys 获取所有的keys,是返回的是一个生成器。
  2. dict1 = {'name':'tom','age':'22'}
  3.   for k in dict1.iterkeys():   
  4.       print k         
  5.         
  6.         运行结果:name
  7.               age

  

  1. 9,itervalues 获取所有的values,是返回的是一个生成器。
  2.  
  3. dict1 = {'name':'tom','age':'22'}
  4.  
  5. for v in dict1.itervalues():
  6.   print v
  7.  
  8.         运行结果:tom
  9. 22

  

  1. 10,keys 获取所有的keys.
  2.  
  3. dict1 = {'name':'tom','age':'22'}
  4.  
  5. print dict1.keys()
  6.  
  7.         运行结果:['age', 'name']

  

  1. 11,pop 删除指定的key
  2.  
  3. dict1 = {'name':'tom','age':'22'}
  4.  
  5. dict1.pop('age')
  6.  
  7. print dict1
  8.  
  9.         运行结果:{'name': 'tom'}

  

  1. 12popitem 随机删除key
  2.  
  3. dict1 = {'name':'tom','age':'22'}
  4.  
  5. dict1.popitem()
  6.  
  7. print dict1
  8.  
  9.         运行结果:{'name': 'tom'}

  

  1. 13setdefault 如果字典中没有这个key,就设置这个Keyvalue,如果有,则使用默认的且返回对应的values
  2.  
  3. dict1 = {'name':'tom','age':'22'}
  4.  
  5. dict1.setdefault('city','beijing')
  6.  
  7. print dict1
  8.  
  9.         运行结果:{'age': '22', 'city': 'beijing', 'name': 'tom'}

  

  1. 14update 更新字典,一般用于将2个字典合并为一个字典
  2.  
  3. dict1 = {'name':'tom','age':'22'}
  4.  
  5. dict2 = {'city':'beijing'}
  6.  
  7. dict1.update(dict2)
  8.  
  9. print dict1
  10.  
  11. 运行结果 {'age': '22', 'city': 'beijing', 'name': 'tom'}
  12.  
  13. 2个字典合并为1个字典:dict3 = dict(dict1,**dict2)

  

 

  1. 15values,查看所有的values
  2.  
  3. dict1 = {'name':'tom','age':'22'}
  4.  
  5. dict1.values()
  6.  
  7.         运行结果:['22', 'tom']

  

python基础一数据类型之字典的更多相关文章

  1. Python基础——原生数据类型(字典,列表,元组,字符串)

    字典Dictionary 字典定义了键值对的1对1管理. 1.定义字典 请看下面的栗子,我们先创建了一个具有两个元素的字典,每对都是key:value的形式. 我们能通过key得到value,但是不能 ...

  2. Python基础:1.数据类型(字典)

    提示:python版本:2.7,windows系统 1.字典(Dictionary) 由Key-Value组成,一个Key只能对应一个Value >>> colors = {'red ...

  3. Python基础(3) - 数据类型:5字典类型

    Python Dictionary 是 Python 的内置数据类型之一, 它定义了键和值之间一对一的关系 .它是用{}括起来的.每个Dictionary的项的句法为:key:value. Dicti ...

  4. Python基础之数据类型

    Python基础之数据类型 变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值 ...

  5. 第二章:python基础,数据类型

    """第二章:python基础,数据类型2.1 变量及身份运算补充2.2 二进制数2.3 字符编码每8位所占的空间位一个比特,这是计算机中最小的表示单位.每8个比特组成一 ...

  6. Day2 - Python基础2 列表、字典、集合

    Python之路,Day2 - Python基础2   本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一, ...

  7. 第一节 Python基础之数据类型(整型,布尔值,字符串)

    数据类型是每一种语言的基础,就比如说一支笔,它的墨有可能是红色,有可能是黑色,也有可能是黄色等等,这不同的颜色就会被人用在不同的场景.Python中的数据类型也是一样,比如说我们要描述一个人的年龄:小 ...

  8. python基础(二)----数据类型

    Python基础第二章 二进制 字符编码 基本数据类型-数字 基本数据类型-字符串 基本数据类型-列表 基本数据类型-元组 可变.不可变数据类型和hash 基本数据类型-字典 基本数据类型-集合 二进 ...

  9. Python学习day04 - Python基础(2)数据类型基础

    <!doctype html>day04 - 博客 figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { ...

随机推荐

  1. 执行bin/hdfs haadmin -transitionToActive nn1时出现,Automatic failover is enabled for NameNode at bigdata-pro02.kfk.com/192.168.80.152:8020 Refusing to manually manage HA state的解决办法(图文详解)

    不多说,直接上干货! 首先, 那么,你也许,第一感觉,是想到的是 全网最详细的Hadoop HA集群启动后,两个namenode都是standby的解决办法(图文详解) 这里,nn1,不多赘述了.很简 ...

  2. php -- 格式化字符串

    ----- 003-output.php ----- <!DOCTYPE html> <html> <head> <meta http-equiv=" ...

  3. JavaScript -- Window-框架

    -----025-Window-框架.html----- <!DOCTYPE html> <html> <head> <meta http-equiv=&qu ...

  4. [error] 1507#0: *22 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 10.0.0.1, server: www.wordpress.com, request: "GET /info.p

    字体比较小,如果你遇到这个问题请仔细的把下面的总结看完. 环境:CentOS6.7.2.6.32-573.el6.x86_64.nginx1.12.2 .php5.5.38 问题:nginx能解析静态 ...

  5. linux 初始化工作环境

    #!/bin/sh # # init workspace # /bin/svnserve -d -r /home/oracle/projects --listen-port= su - oracle ...

  6. [Luogu 2656] 采蘑菇

    Description 小胖和ZYR要去ESQMS森林采蘑菇. ESQMS森林间有N个小树丛,M条小径,每条小径都是单向的,连接两个小树丛,上面都有一定数量的蘑菇.小胖和ZYR经过某条小径一次,可以采 ...

  7. C#语法之特性

    在项目中经常可以看到在类属性上面有一个[]的东西,今天讲的东西就是它,它英文名是Attribute,中文名是特性. 一.什么是特性? 首先,我们肯定Attribute是一个类,下面是msdn文档对它的 ...

  8. GCD之同步异步

    博客地址:http://blog.csdn.net/chaoyuan899/article/details/12554603

  9. CSS设置table下tbody滚动条与thead对齐的方法

    <style>table tbody {display:block;height:195px;overflow-y:scroll;} table thead, tbody tr {disp ...

  10. Mybatis 的配置xml和properties放在jar包以外的一种方法

    1.问题 开发时候,将xml和properties放resources,直接可以访问到,然而打包后这两个文件也一同被打包到jar包里面,如果发布后想修改就会比较麻烦,所以希望将xml配置文件和prop ...