Python字典基本操作

1 字典创建 【Python字典基本操作】(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]: TrueIn [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

    推荐阅读