0
新的python /編程,並在字典組成。 (蟒蛇3)get()裏面的字典組合
是否有可能在你正在創建的字典中使用字典組合中的get方法?
e.g. d = {key: d.get(key,0) + 1 for key in some_list}
隨意提供實現的例子的一個更好的辦法,但我的理解真的有興趣,如果用得到,你所創建的字典是可能的/有效。
新的python /編程,並在字典組成。 (蟒蛇3)get()裏面的字典組合
是否有可能在你正在創建的字典中使用字典組合中的get方法?
e.g. d = {key: d.get(key,0) + 1 for key in some_list}
隨意提供實現的例子的一個更好的辦法,但我的理解真的有興趣,如果用得到,你所創建的字典是可能的/有效。
不,不可能。如果你想計數的字典,使用collections.Counter
字典子類:
import collections
counts = collections.Counter(some_list)
Python已經專門類交給這樣的問題 - collections.Counter
。
import collections
seq = ['a', 'b', 'b', 'c']
d = collections.Counter(seq) # Counter({'b': 2, 'a': 1, 'c': 1})
這是不可能的,因爲字典先被創建,然後被分配到名稱'd'。因此,在它的創建過程中(即在字典理解中),「d」還不存在,你會得到一個NameError(假設你沒有在其中創建一個名爲'd'的不同變量過去) – inspectorG4dget
@ inspectorG4dget感謝有關發生在幕後的最新信息:) –