美文网首页
Python字典基本操作

Python字典基本操作

作者: 一起学分析 | 来源:发表于2017-11-10 18:08 被阅读108次

    1 字典创建

    (1) 直接创建

    mydict1={'a':[1,2,3,4],'b':'adsa'}
    
    In [1]:type(mydict1)
    Out[1]: dict
    

    (2)通过dict先建立空字典,再添加值

    mydict2=dict()
    mydict2['one']='sum'
    
    In [9]:mydict2
    Out[9]: {'one': 'sum'}
    

    (3) 通过列表创建字典

    #方法1:通过zip函数(两个单独列表)
    list1=list('abcde')
    list2=list(range(6))
    list1
    Out[32]: ['a', 'b', 'c', 'd', 'e']
    list2
    Out[33]: [0, 1, 2, 3, 4, 5]
    mydict4=dict(zip(list1,list2))
    mydict4
    Out[35]: {'a': 0, 'b': 1, 'c': 2, 'd': 3, 'e': 4}
    
    #方法2:嵌套列表
    arr1=np.arange(0,10).reshape(5,2)
    arr1
    Out[42]: 
    array([[0, 1],
           [2, 3],
           [4, 5],
           [6, 7],
           [8, 9]])
    mydict5=dict(arr1)
    mydict5
    Out[44]: {0: 1, 2: 3, 4: 5, 6: 7, 8: 9}
    
    #方法3:嵌套列表(使用for循环)
    mydict6={}
    for i in arr1:
        mydict6[i[0]]=i[1]
    mydict6
    Out[55]: {0: 1, 2: 3, 4: 5, 6: 7, 8: 9}
    
    
    

    2 字典索引及常用操作

    (1)知道键名称,需要索引值。直接是用键名索引

    In [10]:mydict1
    Out[10]: {'a': [1, 2, 3, 4], 'b': 'adsa'}
    
    In [11]:mydict1['b']
    Out[11]: 'adsa'
    

    (2) 判断字典长度(键值对有多少对)

    In [12]:len(mydict1)
    Out[12]: 2
    

    (3)判断键是否在字典中(只能判断键,不能判断值)

    In [13]:'a' in mydict1
    Out[13]: True
    
    In [14]:'c' in mydict1
    Out[14]: False
    

    (4) 判断值是否在字典中

    In [15]:vals=mydict1.values()
    
    In [16]:'adsa' in vals
    Out[16]: True
    

    (5) 通过值查找键

    #方法1:通过对值位置的索引,找出键
    In [22]:'list(mydict1.keys())[list(mydict1.values()).index('adsa')]
    Out[22]: 'b'
    
    #方法2:先反转字典(交换键值关系),再通过索引找出键【当值存在列表等类型时,此方法不可行】
    mydict3={v:k for k,v in mydict1.items()}
    mydict3['adsa']
    

    3 使用字典进行词频统计

    #可以对单词,列表数据进行统计
    #字典频率统计
    def histcount(sth):
        ct=dict()
        for item in sth:
            if item not in ct:
                ct[item]=1
            else:
                ct[item]+=1
        return ct
    #使用get简化
    def histct2(sth):
        ct=dict()
        for item in sth:
            ct[item]=ct.get(item,0)+1
        return ct
    

    相关文章

      网友评论

          本文标题:Python字典基本操作

          本文链接:https://www.haomeiwen.com/subject/wevkmxtx.html