Python: добавьте элемент в список N раз

Это похоже на что-то вроде Python. Я хочу добавить элемент в список N раз, эффективно делая это:

l = [] x = 0 for i in range(100): l.append(x) 

Мне кажется, что для этого должен быть «оптимизированный» метод, например:

 l.append_multiple(x, 100) 

Здесь?

  • запуск скрипта python с помощью cron
  • индексирование в numrid's mgrid
  • Показать значение по умолчанию для редактирования на входе Python возможно?
  • Как определить класс, которому принадлежит @staticmethod?
  • Как использовать AND в Django-фильтре?
  • Как суммировать список чисел, хранящихся в виде строк
  • Работа с массивами NumPy с плавающей запятой для сравнения и связанных операций
  • Python Twisted proxy - как перехватывать пакеты
  • 4 Solutions collect form web for “Python: добавьте элемент в список N раз”

    Для неизменяемых типов данных:

     l = [0] * 100 # [0, 0, 0, 0, 0, ...] l = ['foo'] * 100 # ['foo', 'foo', 'foo', 'foo', ...] 

    Для значений, которые хранятся по ссылке, и вы можете захотеть впоследствии изменить (например, под-списки или dicts):

     l = [{} for x in range(100)] 

    (Причина, по которой первый метод является лишь хорошей идеей для постоянных значений, таких как int или строки, заключается в том, что только при использовании синтаксиса <list>*<number> используется только мелкая копия, и, таким образом, если вы сделали что-то вроде [{}]*100 , вы получите 100 ссылок на один и тот же словарь, поэтому изменение одного из них изменит их все. Поскольку ints и строки неизменяемы, это не проблема для них.)

    Если вы хотите добавить в существующий список, вы можете использовать метод extend() этого списка (в сочетании с созданием списка вещей, которые нужно добавить с помощью описанных выше методов):

     a = [1,2,3] b = [4,5,6] a.extend(b) # a is now [1,2,3,4,5,6] 

    Используйте расширение, чтобы добавить понимание списка до конца.

     l.extend([x for i in range(100)]) 

    Дополнительную информацию см. В документах Python .

    Повтор Itertools в сочетании с расширением списка.

     from itertools import repeat l = [] l.extend(repeat(x, 100)) 

    Вы можете сделать это со списком

     l = [x for i in range(10)]; 
    Python - лучший язык программирования в мире.