Питон заполнение массива нулями

Питон заполнение массива нулями

Здравствуйте, Jenyay, Вы писали:

J>Можно ли в питоне создать массив (или список) определенного размера и сразу заполнить его нулями?

a=[0 for x in range(100)] a=[0 for _ in range(100)] a=[0 for x in xrange(100)] a=[0 for _ in xrange(100)] a=[0]*100

Со последним способом нужно быть осторожным

Здравствуйте, Jenyay, Вы писали:

J>Можно ли в питоне создать массив (или список) определенного размера и сразу заполнить его нулями?

x = [0] * 10 # [0,0. 0] x = [0,1,2] * 10 # [0,1,2,0,1,2. 0] x = ["hello"] * 10 # ["hello","hello". "hello"] # а теперь внимание, шухер! x = [[0,1,2]] * 10 # [[0,1,2],[0,1,2]. [0,1,2]] x[0][0] = 3 # [[3,1,2],[3,1,2]. [3,1,2]] - потому что внутренний список запомнился по ссылке
К>a=[0 for x in range(100)] К>a=[0 for _ in range(100)] К>a=[0 for x in xrange(100)] К>a=[0 for _ in xrange(100)] К>a=[0]*100 К>

Спасибо, только не понял почему работают первые 4 способо В справке такого выражения для for не нашел.

К>x = [0] * 10 # [0,0. 0] К>x = [0,1,2] * 10 # [0,1,2,0,1,2. 0] К>x = ["hello"] * 10 # ["hello","hello". "hello"] К># а теперь внимание, шухер! К>x = [[0,1,2]] * 10 # [[0,1,2],[0,1,2]. [0,1,2]] К>x[0][0] = 3 # [[3,1,2],[3,1,2]. [3,1,2]] - потому что внутренний список запомнился по ссылке К>

Спасибо, а я копал в сторону range, думал с ним надо как-то извернуться

Читайте также:  Java stream анонимный класс

Здравствуйте, Jenyay, Вы писали:

J>Спасибо, только не понял почему работают первые 4 способо В справке такого выражения для for не нашел.

Это называется List Comprehensions.
Аналоги есть в haskell, erlang.

Поправочка. Я там очепятался, из чего можно было сделать неверный вывод, будто [0,1,2]*10 даёт 10-элементный массив. На самом деле будет, конечно, 30-элементный.

К>x = [0,1,2] * 10 # [0,1,2,0,1,2. 0,1,2]

Здравствуйте, Константин, Вы писали:

К>Это называется List Comprehensions.

Здорово, спасибо, удобная штука

Источник

Create List of Zeros in Python

Create List of Zeros in Python

  1. Use the * Operator to Create a List of Zeros in Python
  2. Use the itertools.repeat() Function to Create a List of Zeros in Python
  3. Use the for Loop to Generate a List Containing Zeros

In this tutorial, we will introduce how to create a list of zeros in Python.

Use the * Operator to Create a List of Zeros in Python

If we multiple a list with a number n using the * operator, then a new list is returned, which is n times the original list. Using this method, we can easily create a list containing zeros of some specified length, as shown below.

Note that this method is the most simple and fastest of all.

Use the itertools.repeat() Function to Create a List of Zeros in Python

The itertools module makes it easier to work on iterators. The repeat() function in this module can repeat a value a specified number of times. We can use this function to create a list that contains only zeros of some required length when used with the list() function. For example,

import itertools lst = list(itertools.repeat(0, 10)) print(lst) 

Use the for Loop to Generate a List Containing Zeros

The for loop can be used to generate such lists. We use the range function to set the start and stop positions of the list. Then we iterate zero the required number of times within the list() function. Such one-line of code where we iterate and generate a list is called list comprehension. The following code implements this and generates the required list:

lst = list(0 for i in range(0, 10)) print(lst) 
lst = [0 for i in range(0, 10)] print(lst) 

Note that this method is the slowest of them all when generating huge lists.

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

Related Article — Python List

Источник

Функции numpy.zeros() и numpy.ones() в Python

Функция numpy.zeros() в Python возвращает новый массив заданной формы и типа, где значение элемента равно 0.

Аргументы функции

zeros(shape, dtype=None, order='C')
  • Shape — это целое число или кортеж целых чисел, определяющее размер массива.
  • Dtype – необязательный параметр со значением по умолчанию, как float. Он используется для указания типа данных массива, например, int.
  • Order определяет, следует ли хранить многомерный массив в памяти в порядке строк (стиль C) или столбцов (стиль Fortran).

Примеры

Давайте посмотрим на несколько примеров создания массивов с помощью функции numpy zeros().

1. Создание одномерного массива с нулями

import numpy as np array_1d = np.zeros(3) print(array_1d)

Обратите внимание, что элементы имеют тип данных по умолчанию, как float. Вот почему нули равны 0.

2. Создание многомерного массива

import numpy as np array_2d = np.zeros((2, 3)) print(array_2d)

3. Массив нулей NumPy с типом данных int

import numpy as np array_2d_int = np.zeros((2, 3), dtype=int) print(array_2d_int)

4. Массив с типом данных кортеж и нулями

Мы можем указать элементы массива, как кортеж, а также указать их типы данных.

import numpy as np array_mix_type = np.zeros((2, 2), dtype=[('x', 'int'), ('y', 'float')]) print(array_mix_type) print(array_mix_type.dtype)

Функция Numpy.Zeros в Python

Функция numpy.ones() возвращает новый массив заданной формы и типа данных, где значение элемента установлено на 1. Эта функция очень похожа на функцию numpy zeros().

Аргументы функции

ones(shape, dtype=None, order='C')
  • Shape – это целое число или кортеж целых чисел, определяющее размер массива. Если мы просто укажем переменную типа int, будет возвращен одномерный массив. Для кортежа целых чисел будет возвращен массив заданной формы.
  • Dtype – необязательный параметр со значением по умолчанию? как float. Он используется для указания типа данных массива, например, int.
  • Order определяет, следует ли хранить многомерный массив в памяти в порядке строк (стиль C) или столбцов (стиль Fortran).

Примеры numpy.ones()

Давайте рассмотрим несколько примеров создания массивов с помощью функции numpy ones().

1. Создание одномерного массива с единицами

import numpy as np array_1d = np.ones(3) print(array_1d)

Обратите внимание, что элементы имеют тип данных по умолчанию? как float. Вот почему единицы в массиве.

2. Создание многомерного массива

import numpy as np array_2d = np.ones((2, 3)) print(array_2d)

3. Массив NumPy ones с типом данных int

import numpy as np array_2d_int = np.ones((2, 3), dtype=int) print(array_2d_int)

4. Массив с типом данных Tuple и единицами

Мы можем указать элементы массива как кортеж, а также указать их типы данных.

import numpy as np array_mix_type = np.ones((2, 2), dtype=[('x', 'int'), ('y', 'float')]) print(array_mix_type) print(array_mix_type.dtype)

Источник

numpy.zeros#

Return a new array of given shape and type, filled with zeros.

Parameters : shape int or tuple of ints

Shape of the new array, e.g., (2, 3) or 2 .

dtype data-type, optional

The desired data-type for the array, e.g., numpy.int8 . Default is numpy.float64 .

order , optional, default: ‘C’

Whether to store multi-dimensional data in row-major (C-style) or column-major (Fortran-style) order in memory.

like array_like, optional

Reference object to allow the creation of arrays which are not NumPy arrays. If an array-like passed in as like supports the __array_function__ protocol, the result will be defined by it. In this case, it ensures the creation of an array object compatible with that passed in via this argument.

Array of zeros with the given shape, dtype, and order.

Return an array of zeros with shape and type of input.

Return a new uninitialized array.

Return a new array setting values to one.

Return a new array of given shape filled with value.

>>> np.zeros((5,), dtype=int) array([0, 0, 0, 0, 0]) 
>>> s = (2,2) >>> np.zeros(s) array([[ 0., 0.], [ 0., 0.]]) 
>>> np.zeros((2,), dtype=[('x', 'i4'), ('y', 'i4')]) # custom dtype array([(0, 0), (0, 0)], dtype=[('x', ' 

Источник

Оцените статью