当前位置: 首页 > 面试题库 >

追加到子列表追加到每个子列表

徐杰
2023-03-14
问题内容

我正在编写一个包含10个存储桶列表的简单哈希表。使用内置函数计算索引hash(),然后对表大小取模。但是,当我尝试将对象附加到该索引的存储桶列表时,它会附加到每个存储桶列表。我尝试用不同的方式定义add_HT,但我一直得到相同的结果。我究竟做错了什么?

size = 10
HT = [ [] ] * size

def add_HT(data):
    index = hash(data) % size
    HT[index].append(data)

print HT

[[], [], [], [], [], [], [], [], [], []]

add_HT('hello')

[['hello'], ['hello'], ['hello'], ['hello'], ['hello'], ['hello'], ['hello'], ['hello'], ['hello'], ['hello']]

问题答案:

HT = [ [] ] * size使size指向 同一列表 的指针数量增加。add_HT这里不是问题。您需要定义HT[[] for i in xrange(size)]



 类似资料:
  • 我有一个for循环,它遍历CSV中的每一行,我创建了一个包含列表的字典,但是列表被重写了,因为字典键被重复了几次。我如何总结或追加到列表中的第二(1)位置相同的键的下一个值下一个循环迭代? 因为使用append时,如果再次找到现有键,则会覆盖该值,因此该键的值会被一次又一次地覆盖。 CSV中的字段包括: 输出应该是这样的:

  • 问题内容: 在Python Shell中,我输入: 并得到 但是当我尝试: 并得到 有人知道发生了什么吗?我该如何解决/解决它? 问题答案: 是一种修改现有列表的方法。它不返回新列表,而是返回,就像大多数修改列表的方法一样。简单地做,您的列表将添加元素。

  • 问题内容: 我有一个清单: 列表的长度不确定,因此我尝试将对象追加到list1的末尾,如下所示: 但是我的输出始终显示此错误:AttributeError:’NoneType’对象没有属性’append’ 这是因为list1从一个空列表开始吗?如何解决此错误? 问题答案: 实际 更改 列表。同样,它需要一个 item ,而不是一个列表。因此,您所需要做的就是 (请注意,在这种情况下,您可以使用。)

  • 问题内容: 无法附加到吗? 我正在尝试附加到对象列表。摘录之后的片段是每当作业完成时都会调用的函数。 但是,当我尝试读取它时,我只会得到文件中的第一个。然后我得到java.io.StreamCorruptedException。 要阅读我正在使用 我不知道会出现多少个对象,因此我在阅读时没有例外。根据Google的说法,这是不可能的。我想知道是否有人知道吗? 问题答案: 这是窍门:子类Object

  • 在我的用例中,我需要一个find a way将键/值对追加到现有序列文件中。怎么做?任何线索都会大有帮助。我正在使用Hadoop2X。

  • 我有一个带有数值的数据框。添加表示每列总和的行(具有给定索引值)的最简单方法是什么?