在更新dict over iteration之后,dict只保留最后一个迭代对。你知道吗
样品:
# DICTIONARY PROBLEM
class Dict_ator(object):
def __init__(self, str, int):
self.string = str
self.integer = int
boogeyman = []
i = 1
for char in "boogeyman" :
boogeyman.append( Dict_ator(char, i) )
i += 1
dictonary = {}
for b in boogeyman :
dictonary.update( s = b.string, i = b.integer )
我做错了什么?你知道吗
一句话可以解决你的问题:
您正在反复设置相同的键:
通过使用关键字,您可以设置两个键;
s
和i
;字典的定义就是它们将键映射到值,其中键是唯一的。你知道吗如果要为循环中的每个元素设置不同的键值组合,请设置不同的键。例如,对每个键使用
b.string
,对值使用b.integer
,以元组形式传入:或者直接使用赋值设置键值:
你用听写理解代替整个循环:
可以使用起始值为} 和列表来简化第一个循环:
1
的^{如果不需要
Dict_ator
对象,可以使用相同的enumerate()
循环来构建字典:如果希望字典以另一种方式映射,则交换整数和字符组件。你知道吗
这很管用
你的
Dict_ator
。。。仅用于存储一个字符和相关位置。。。好像太多了。还有,为什么你不能直接添加到dict中呢很简单,呃?你知道吗
相关问题 更多 >
编程相关推荐