zoukankan      html  css  js  c++  java
  • python基础一数据类型之字典

    摘要:

      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,clear() 清空字典
    dict1 = {'name':'tom','age':'22'}
    
    dict1.clear()
                
                运行结果:{}
    
    2,copy() 复制字典
    dict1 = {'name':'tom','age:'22'}
    
    dict2 = dict1.copy()
    
    print dic
                
                  运行结果:{'age': 22, 'name': 'tom'}
    

      

     

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

      

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

      

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

     

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

      

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

      

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

      

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

      

    11,pop 删除指定的key
    
    dict1 = {'name':'tom','age':'22'}
    
    dict1.pop('age')
    
    print dict1
    
            运行结果:{'name': 'tom'}
                       
    

      

    12,popitem 随机删除key
    
    dict1 = {'name':'tom','age':'22'}
    
    dict1.popitem()
    
    print dict1
    
            运行结果:{'name': 'tom'}
                       
    

      

    13,setdefault 如果字典中没有这个key,就设置这个Key和value,如果有,则使用默认的且返回对应的values。
    
    dict1 = {'name':'tom','age':'22'}
    
    dict1.setdefault('city','beijing')
    
    print dict1
    
            运行结果:{'age': '22', 'city': 'beijing', 'name': 'tom'}
    

      

    14,update 更新字典,一般用于将2个字典合并为一个字典
     
    dict1 = {'name':'tom','age':'22'}
     
    dict2 = {'city':'beijing'}
     
    dict1.update(dict2)
     
    print dict1
    
    			运行结果 {'age': '22', 'city': 'beijing', 'name': 'tom'}
    
    将2个字典合并为1个字典:dict3 = dict(dict1,**dict2)
    

      

     

    15,values,查看所有的values
    
    dict1 = {'name':'tom','age':'22'}
    
    dict1.values()
    
    
            运行结果:['22', 'tom']
    

      

  • 相关阅读:
    MySQL主从复制
    高可用系列之Nginx
    02.PHP7.x编译详解
    01.PHP5.x编译详解
    月薪2500到年薪20+我经历了些什么?
    更换gitlab公网IP,引发的故障。
    博客资料汇总
    Nginx编译参数
    Zabbix3.0部署最佳实践
    SharePoint 2013让页面显示错误
  • 原文地址:https://www.cnblogs.com/lin1/p/8087529.html
Copyright © 2011-2022 走看看