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感谢有关发生在幕后的最新信息:) –