如何向字典中添加列表以获取预期的嵌套列表结构?
解决字典值为嵌套列表的问题
嘿,我懂你想要的效果啦——让字典里的cat对应的值是一个包含两个子列表的嵌套列表对吧?你当前的代码之所以没得到预期结果,是因为一开始把第一个子列表直接赋值给了pets['cat'],后续的append操作是把第二个子列表加到了第一个子列表的末尾,而不是外层的列表容器里。
给你两种简单的解决方法:
方法一:先初始化空列表,再逐个添加子列表
这种方式最灵活,适合后续可能要添加更多子列表的场景:
pets = dict() pets['cat'] = [] # 先把cat对应的值设为空列表,作为外层容器 # 添加第一个子列表 pets['cat'].append(['stray','brown','big']) new_val = ['house','white','small'] # 这里不用额外套list(),直接写列表字面量就行 # 添加第二个子列表 pets['cat'].append(new_val) print(pets)
运行后输出就是你想要的:
{'cat': [['stray', 'brown', 'big'], ['house', 'white', 'small']]}
方法二:直接初始化为包含第一个子列表的外层列表
如果一开始就确定第一个子列表的内容,可以直接把外层列表初始化好:
pets = dict() # 直接让cat对应的值是包含第一个子列表的外层列表 pets['cat'] = [['stray','brown','big']] new_val = ['house','white','small'] pets['cat'].append(new_val) print(pets)
这种方式也能得到完全一样的结果。
简单总结下核心逻辑:你需要让字典中cat对应的值本身就是一个列表,然后把每个子列表作为元素添加到这个外层列表里,而不是把第一个子列表直接作为值,再往里面加元素。
内容的提问来源于stack exchange,提问作者LenkaLenka
相关产品推荐
相关产品推荐

