Удалить элемент из массива, который был выбран случайным образом

#python #arrays

#python #массивы

Вопрос:

 import random
x = ['England', 'Russia', 'Spain', 'Italy', 'Netherlands', 'Brazil', 'France', 'Algeria', 'Cameroon', 'Ivory Coast', 'Ghana', 'Nigeria', 'Australia', 'Iran', 'Japan', 'Korea Republic', 'Belgium', 'Bosnia and Herzegovina', 'Croatia', 'Germany', 'Greece', 'Switzerland', 'Costa Rica', 'Honduras', 'Mexico', 'USA', 'Argentina', 'Chile', 'Colombia', 'Ecuador', 'Uruguay', 'Portugal']
x.pop(random.randint(0,len(x)-1))
print (random.choice(x))
  

Теперь я хочу удалить random.choice из массива.

Комментарии:

1. Какой язык вы используете?

Ответ №1:

Ваша строка с x.pop уже удаляет случайный элемент. Если вы имеете в виду удаление случайного элемента по значению, вы можете использовать x.remove :

 to_remove = random.choice(x)
print(to_remove)
x.remove(to_remove)
print(x)
  

Ответ №2:

Ну, вот и все:

 to_remove = random.choice(x)
print to_remove
x.remove(to_remove)
  

Но ваш код довольно странный. Вы действительно удаляете элемент из своего кода с помощью x.pop(random.randint(0,len(x)-1)) . Отличие от x.remove() заключается в том, что list.pop() удаляет по индексу и возвращает переменную и list.remove() удаляет по значению.
Таким образом, выполняя оба pop и remove , вы удаляете два случайных элемента из своего x .