我一直在尝试使用不同的字典在字典内的列表末尾添加一个值。赋值有点复杂,所以我把问题简化为这三行,但结果却一直没有。
finley = {'a':0, 'b':2, 'c':[41,51,61]}
crazy_sauce = {'d':3}
print finley['c'].append(crazy_sauce['d'])
答案 0 :(得分:2)
您的代码很好,但print finley['c'].append(crazy_sauce['d'])
打印无,因为finley['c'].append(crazy_sauce['d'])
返回none。你在这里删除打印并在下一行添加print finley['c']
finley = {'a':0, 'b':2, 'c':[41,51,61]}
crazy_sauce = {'d':3}
finley['c'].append(crazy_sauce['d'])
print finley['c']
答案 1 :(得分:0)
您正在尝试打印return
函数的.append()
值,即None
。您需要在调用dict
后打印.append()
值,如下所示:
finley = {'a':0, 'b':2, 'c':[41, 51 ,61]}
crazy_sauce = {'d':3}
finley['c'].append(crazy_sauce['d'])
print(finley['c'])
输出如下:
[41, 51, 61, 3]
答案 2 :(得分:0)
append()
方法更改列表就地 - 它不创建然后返回更改的(扩展)列表,它不会返回任何(在Python中表示它返回None
特殊值。)
因此,您首先就地更改嵌套列表 (不将其分配给其他变量):
finley['c'].append(crazy_sauce['d'])
然后打印更改的外部目录:
print(finley)
答案 3 :(得分:0)
您的解决方案是正确的,但是:
大多数功能,改变序列/映射项的方法都有 return None:list.sort,list.append,dict.clear。
在dict中更新列表后,只需在下一行使用print dict。
finley = {'a':0, 'b':2, 'c':[41,51,61]}
crazy_sauce = {'d':3}
finley['c'].append(crazy_sauce['d'])
print(finley)