我想删除数组中的随机元素,所以我喜欢这样:
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没有属性'删除' 请帮帮我
答案 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)