2016-08-01 2 views
1

Я заметил, что вы можете умножить список на скаляр, но поведение странно Если я умножать:Списки в Python

[2,3,4] * 3 

я получаю:
[2,3,4,2,3,4,2,3,4]
Я понимаю результаты, но что это хорошо для ? Есть ли какие-то другие странные операции?

+0

почему вниз голосование? я обыскал сайт и не нашел ответа, для чего он хорош? –

ответ

3

Основная цель этого операнда - инициализация. Например, если вы хотите, чтобы инициализировать список с 20 равных чисел вы можете сделать это с помощью для цикла:

arr=[] 
for i in range(20): 
    arr.append(3) 

Альтернативный способ будет использовать этот оператор:

arr = [3] * 20 

Более странный и нормальный список в списках можно найти здесь http://www.discoversdk.com/knowledge-base/using-lists-in-python

0

Операция использует создание массивов, инициализированных с некоторым значением.

Например, [5]*1000 означает «создать массив длиной 1000, инициализированный 5».

Если вы хотите, чтобы умножить каждый элемент на 3, используйте

map(lambda x: 3*x, arr) 
+0

и его просто для инициализации? почему писатель-питон сделал такой странный оператор вместо простой функции init? –

Смежные вопросы