Python:使用旧项目向列表字典添加新项目

2024-05-03 09:14:11 发布

您现在位置:Python中文网/ 问答频道 /正文

由于在列表的任何位置添加新项都会更新列表,因此以下使用旧项将新项添加到列表字典的形式不起作用:

>>> d = {1: [1]}
>>> d[2] = d[1].append(3)
>>> d
{1: [1, 3], 2: None}

我写了一些麻烦的代码来解决这个问题。这个问题怎么办?你知道吗

>>> d = {1: [1], 2:[1, 3]}
>>> # add a new item for each item where k*=3 and 5 is appended to d[k]

Tags: and代码noneadd列表newfor字典
1条回答
网友
1楼 · 发布于 2024-05-03 09:14:11

在dict中得到2的None的原因是append是一个返回None的就地操作。你知道吗

如果要建立新列表,可以尝试:

>>> d = {1: [1]}
>>> d[2] = d[1] + [3]
>>> d
{1: [1], 2: [1, 3]}

但我想不出一个好的理由来这么做。如果您在语义上所做的只是构建一个包含索引的列表,那么您可以这样做,只要记住Python从0开始计算索引和切片:

>>> l = [1]
>>> l.append(3)
>>> l
[1, 3]
>>> l[0]
1
>>> l[1]
3

相关问题 更多 >