【问题标题】:Removing items in a wierd type of list删除奇怪类型列表中的项目
【发布时间】:2015-11-24 08:21:32
【问题描述】:

我在删除列表中的所有内容时遇到了问题,基本上清除了其中的所有内容,例如这种类型。

{'p': [4, 1], 'o': [3, 5]}

我试过这样做del {:},但它不起作用。 我也想删除这种类型的del house[:] TypeError: 'str' object does not support item deletion,但它会出现那个错误。

感谢您的帮助

编辑:

这是列表的代码

while Flag:
    try:
        h = str(input("Eneter House names [Type XXX to stop]: "))
        if h == 'XXX' or h == 'xxx':
            Flag = False
        else:
            house.append(h)
    except ValueError:
        print("Please enter a word, Thanks")
print()

我也希望能够清除列表中的所有内容。谢谢

【问题讨论】:

  • 不确定我是否理解这个问题,您希望将空列表作为字典的值吗?您要确切删除什么?您应该发布预期输出的样子。
  • 我想在这个字典列表中删除这个 {'p': [4, 1], 'o': [3, 5]}
  • 您想删除整个字典而不仅仅是键和值?
  • 对不起,只是字典里面的键和值
  • 那么您可以按照@rikkigibson 的建议使用.clear() 方法。

标签: python arrays arraylist


【解决方案1】:

我不确定我是否理解你的问题,似乎有点不清楚。

如果你想清除字典,你可以这样做:

>>> house = {'p': [4, 1], 'o': [3, 5]}
>>> house.clear()
>>> house
{}
>>>

如果你想清除一个列表,你可以这样做:

>>> house = [1, 2, 3]
>>> house[:] = []
>>> house
[]
>>>

或者,这个:

>>> house = [1, 2, 3]
>>> del house[:]
>>> house
[]
>>>

【讨论】:

  • 很高兴能帮上忙!
  • 关于清除列表的一个问题,ut 想出了这个错误 TypeError: 'str' object does not support item assignment
  • 在我的回答中,我介绍了删除列表和字典的一般方法。这些方法有效,因此错误可能是由代码中的其他内容引起的。从我在您的帖子中看到的内容,我无法判断导致错误的原因。
【解决方案2】:

您拥有的是一个字典,其中键是字符串,值是列表。如果您不关心保留键,您可以用一个空的字典覆盖您的字典。

myDictionary = {}

如果您需要修改同一个字典对象,以便引用它的每个人都能获得清晰的字典,您可以对其使用.clear() 方法。

【讨论】:

  • 在这种情况下我该怎么做?
猜你喜欢
  • 2011-09-09
  • 2022-01-24
  • 1970-01-01
相关资源
最近更新 更多