Python-附加到字典中的列表

时间:2017-10-31 03:31:30

标签: python dictionary

我一直在尝试使用不同的字典在字典内的列表末尾添加一个值。赋值有点复杂,所以我把问题简化为这三行,但结果却一直没有。

finley = {'a':0, 'b':2, 'c':[41,51,61]}
crazy_sauce = {'d':3}
print finley['c'].append(crazy_sauce['d'])

4 个答案:

答案 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)