请教大神
Topic sourceresource = ['a', 'a', 'b', 'a', 'b', 'c'] dic = {} for element in resource: result = dic.get(element, -1) if -1 == result: dic[element] = 1 else: dic[element] = dic[element] + 1
l = ['a','a','b','a','b','c'] s = set(l) d = dict.fromkeys(s,0) for x in s : d[x] = l.count(x)
lists = ['a', 'a', 'b', 'a', 'b', 'c'] d1={} for i in lists: if lists.count(i)>=1: d1[i]=lists.count(i) print(d1)
上面大神的很多函数我们都还没学,如果用之前学过的知识来完成的话,可写成: a=['a', 'a', 'b', 'a', 'b', 'c'] n=0 m=0 v=0 for x in a: if x=='a': n=n+1 continue elif x=='b': m=m+1 continue elif x=='c': v=v+1 continue d={'a':n,'b':m,'c':v} print(d)
1楼用的是本课程学习的dict.get()方法来判定,思路很好.
我这也有一种方法: source = ['a','a','b','a','b','c']
storage_set = set(source)
source_dict_count = {}
for set_key in storage_set: count = 0 for source_each in source: if (set_key == source_each): count += 1; source_dict_count[set_key] = count
print(source_dict_count)
list1 = ['a','a','b','a','b','c'] result = {} s = sorted(set(list1)) for letter in s: result[letter] = list1.count(letter) print(result)
n=['b','a','b','a','b','c'] n.sort() b={} for i in n: if i in b: b[i]=str(int(b[i])+1) print(i+"存在,数值加一,当前有"+b[i]+"个"+i) else: b[i]=1 print(i+"不存在,添加dict,当前有"+str(b[i])+"个"+i) print(b)
- 1
- 2
行者必无痕
请问Python如何实现将列表:['a','a','b','a','b','c']输出为字典:{'a':3,'b':2,'c':1}?