Discuss / Python / 请教大神

请教大神

Topic source

请问Python如何实现将列表:['a','a','b','a','b','c']输出为字典:{'a':3,'b':2,'c':1}?

pondr

#2 Created at ... [Delete] [Delete and Lock User]

resource = ['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

wxg122_858

#3 Created at ... [Delete] [Delete and Lock User]

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)

L=['a','a','b','a','b','c'] result={key:L.count(key) for key in L}

你好6啊

eva_ming

#7 Created at ... [Delete] [Delete and Lock User]

上面大神的很多函数我们都还没学,如果用之前学过的知识来完成的话,可写成: 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)

光之希晨

#9 Created at ... [Delete] [Delete and Lock User]

list1 = ['a','a','b','a','b','c'] result = {} s = sorted(set(list1)) for letter in s: result[letter] = list1.count(letter) print(result)

冷寂星空l

#10 Created at ... [Delete] [Delete and Lock User]

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

Reply