#create a new key, the value for which is a list:
data["book_names"] = ["highlight"]
#append another value to the value list for existing key:
data['book_names'].append("lowlights")
#Output:
#data after first operation: {'key_value': ['h1', 'h2', 'h3'], 'key_value2': ['h11', 'h21', 'h31'], 'book_names': ['highlight']}
#data after second operation: {'key_value': ['h1', 'h2', 'h3'], 'key_value2': ['h11', 'h21', 'h31'], 'book_names': ['highlight', 'lowlights']}
这是因为在你的字典里没有一个叫做book_list的键。您可以附加到现有键的值列表,如“键值2”,如下所示:
如果要在字典中创建一个全新的键值对,然后将更多值附加到值列表中,可以这样做:
如问题所示
data.setdefault(book_name, []).append(highlight)
可以使用。如果键不存在,它将创建一个新键,值为空列表,否则您将获得可附加到的现有键的列表注意:如果您有尾随空格的键,这可能会导致“意外”行为。例如:
data[' key']
vsdata['key ']
。您可以使用类似data.setdefault(book_name.strip(), []).append(highlight)
的方法来克服这个问题建议案文:collections.defaultdict
发生错误的原因是您在
data['key_value ']
中放置了一个空格。它应该是这样的:data['key_value']
当您尝试访问字典的任何键时,请确保该键与字典中的键相同
例如,你的字典是:
如果您试图访问字典的键,它应该是
data['key1']
,而不是data[' key1']
或data['key1 ']
或data[' key1 ']
相关问题 更多 >
编程相关推荐