Int没有删除属性

时间:2017-05-11 07:29:35

标签: python attributes int

我想删除数组中的随机元素,所以我喜欢这样:

word = [1,2,3,4,5,6,7,8,9]
for i in range(len(word)-1):
    word[i].remove(randint(0,9))
print word

然而,有一个错误“Int没有属性'删除' 请帮帮我

5 个答案:

答案 0 :(得分:1)

word[i]是一个int,int没有函数remove。 尝试:

from random import randint    
word = [1,2,3,4,5,6,7,8,9]
word.remove(randint(0,9))
print word

答案 1 :(得分:0)

此处word[i]将成为循环中单词更改的元素

如果您尝试按item删除元素,请使用

word.remove("item") #remove 1st occurence of element.

如果您尝试按index删除元素,请使用

del word[index]

答案 2 :(得分:0)

word[i]是一个int,它没有remove方法(嗯,您已经从错误消息中知道了这一点)。

要从列表中选择随机元素,您可以使用random.choice。然后使用remove list方法删除它。请记住,如果在列表中多次找到相同的元素,则只会从列表中删除第一个匹配项。

from random import choice

li = [1, 2, 3, 4, 5]
random_element= choice(li)
li.remove(random_element)
print(li)
# [1, 3, 4, 5]

答案 3 :(得分:0)

也许我无法理解你的问题。 使用以下代码从列表中删除随机项:

from random import randint
word = [1,2,3,4,5,6,7,8,9]
min = 0
max = len(word)
word.remove(randint(min,max))

答案 4 :(得分:0)

您的代码看起来的目的是从列表中删除除一个(随机)元素之外的所有元素?那么为什么不简单地从列表中选择一个随机元素呢?

import random

word = [1,2,3,4,5,6,7,8,9]
word = random.sample(word, 1)