我有一個字符串,由空格分隔的nos組成:5 4 4 2 2 8
。Python字典解析
我想建立一個字典,這將有沒有每次沒有出現在上面的字符串中的時間。
我第一次嘗試通過下面的代碼來構建一個清單出來上面的輸入線:
nos = input().split(" ")
print (nos)
現在我想通過使用字典理解創建字典上面的列表進行迭代。
我該如何做同樣的事,有人可以幫忙嗎?
我有一個字符串,由空格分隔的nos組成:5 4 4 2 2 8
。Python字典解析
我想建立一個字典,這將有沒有每次沒有出現在上面的字符串中的時間。
我第一次嘗試通過下面的代碼來構建一個清單出來上面的輸入線:
nos = input().split(" ")
print (nos)
現在我想通過使用字典理解創建字典上面的列表進行迭代。
我該如何做同樣的事,有人可以幫忙嗎?
您可以使用collections.Counter
:
from collections import Counter
n = "5 4 4 2 2 8"
n = n.split(" ")
occurrences = Counter(n)
如果你不想輸入任何東西,你可以使用count
:
n = "5 4 4 2 2 8"
n = n.split(" ")
unique = set(n)
occurences = {i:n.count(i) for i in unique}
輸出:
{'4': 2, '2': 2, '5': 1, '8': 1}
downvote的任何理由? –
from collections import Counter
Counter('5 4 4 2 2 8'.split(' '))
你要求廣告ICT補償所以這就是我將在這裏展示,但我也同意,這是使用計數器或衍生物的地方:
nos = input().split()
my_dict = {k: nos.count(k) for k in set(nos)}
它的工作原理是首先找到的獨特元素(通過創建一個set
),然後使用對於輸入列表的每個唯一元素,列表count()
方法。
嘗試使用Counter
;
>>> import collections
>>> input_str = '5 4 4 2 2 8'
>>> dict(collections.Counter(input_str.split(" ")))
{'4': 2, '2': 2, '8': 1, '5': 1}
str1 = '5 4 4 2 2 8'
函數用於創建詞典:
def func_dict(i, dict):
dict[i] = dict.get(i, 0) + 1
return dict
d = dict()
([ func_dict(i, d) for i in str1.split() ])
print "d :", d
你不能見http://stackoverflow.com/questions/37785412/count-number-of-words-in -a-file-using-dictionary-comprehension-python,它與之類似。使用「計數器」。 –
plz post你想要達到的輸出是什麼。 – AceLearn