jsn*_*bs2 5 python dictionary key python-2.7
category1[name]=(number)然而,我当前的代码是,如果出现相同的名称,字典中的值将被新数字替换,我将如何做到这一点,而不是替换值,而是保留原始值并添加新值,给出现在关键的两个值,谢谢。
您必须使字典指向列表而不是数字,例如,如果类别有两个数字cat1:
categories["cat1"] = [21, 78]
Run Code Online (Sandbox Code Playgroud)
为了确保将新号码添加到列表中而不是替换它们,请在添加之前先检查它是否在其中:
cat_val = # Some value
if cat_key in categories:
categories[cat_key].append(cat_val)
else:
# Initialise it to a list containing one item
categories[cat_key] = [cat_val]
Run Code Online (Sandbox Code Playgroud)
要访问这些值,您只需使用which ,如果有一个值为 12 的键,并且该键有两个值,categories[cat_key]则会返回。[12][12, 95]
请注意,如果您不想存储重复的键,您可以使用集合而不是列表:
cat_val = # Some value
if cat_key in categories:
categories[cat_key].add(cat_val)
else:
# Initialise it to a set containing one item
categories[cat_key] = set(cat_val)
Run Code Online (Sandbox Code Playgroud)