список. append (x) добавляет элемент 'x' в конец списка.Ваш код перебирает список «вручную», но каждый раз, когда это происходит, он добавляет новый элемент в конец списка.Таким образом, список никогда не закончится, как и ваш for
цикл.
Что касается более простого способа написать это, это зависит от того, чего вы пытаетесь достичь.Если вам нужен список с одинаковыми элементами в квадратных скобках, вы можете попробовать что-то вроде этого:
def show_cards(hand):
new_list = []
for c in hand:
b = "[" + c + "]"
new_list.append(b)
return(new_list)
return () позволяетфункция для создания нового списка, который затем можно назначить переменной a
следующим образом:
a = show_cards(a)
В качестве альтернативы, вы можете изменить элементы в своем списке a
напрямую, без вызова отдельной функции, используя перечислить () .Функция enumerate()
возвращает список кортежей, каждый из которых содержит индекс элемента в последнем (начиная с 0, индекс первого элемента) и его значение.Итак, enumerate(a)
возвращает:
[(0, "a"), (1, "b"), (2, "c"), (3, "d"), (4, "e")]
Это означает, что вы можете заменить каждый из элементов в вашем списке a
следующим образом:
for index, value in enumerate(a):
a[index] = "[" + value + "]"
И затем значение списка a
должно быть:
["[a]", "[b]", "[c]", "[d]", "[e]"]
Если это не то, что вы хотели, дайте нам знать.