파이썬에서 0의 목록
이 질문에는 이미 답변이 있습니다.
- 특정 크기의 14 답변으로 파이썬에서 빈 목록 만들기
list
0 만 포함 하는 을 만들려면 어떻게 해야합니까? list
각각 int
에 대해 0을 만들 수 있기를 원합니다 .range(10)
예를 들어, int
범위에있는 경우 다음 을 4
얻습니다.
[0,0,0,0]
그리고 7
:
[0,0,0,0,0,0,0]
#add code here to figure out the number of 0's you need, naming the variable n.
listofzeros = [0] * n
함수에 넣고 싶다면 해당 코드를 삭제하고 추가하십시오. return listofzeros
다음과 같이 보일 것입니다 :
def zerolistmaker(n):
listofzeros = [0] * n
return listofzeros
샘플 출력 :
>>> zerolistmaker(4)
[0, 0, 0, 0]
>>> zerolistmaker(5)
[0, 0, 0, 0, 0]
>>> zerolistmaker(15)
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
>>>
$python 2.7.8
from timeit import timeit
import numpy
timeit("list(0 for i in xrange(0, 100000))", number=1000)
> 8.173301935195923
timeit("[0 for i in xrange(0, 100000)]", number=1000)
> 4.881675958633423
timeit("[0] * 100000", number=1000)
> 0.6624710559844971
timeit('list(itertools.repeat(0, 100000))', 'import itertools', number=1000)
> 1.0820629596710205
0 [0] * n
으로 목록을 생성하는 데 사용해야 합니다 n
.
이 비록 잡았다이며, 모두 itertools.repeat
와 [0] * n
요소가 동일한 참조 목록을 만들 것입니다 id
. 이것은 정수 또는 문자열과 같은 불변의 객체에는 문제가 아니지만 목록의 목록 ( [[]] * n
) 과 같은 가변 객체의 목록을 만들려고하면 모든 요소가 동일한 객체를 참조합니다.
a = [[]] * 10
a[0].append(1)
a
> [[1], [1], [1], [1], [1], [1], [1], [1], [1], [1]]
[0] * n
repeat
처음 액세스 할 때 느리게 목록을 작성하는 데 사용할 수있는 동안 목록을 즉시 작성합니다.
실제로 많은 양의 데이터를 처리하고 있고 문제가 목록의 가변 길이 목록 또는 여러 데이터 유형이 필요하지 않은 경우 numpy
배열 을 사용하는 것이 좋습니다 .
timeit('numpy.zeros(100000, numpy.int)', 'import numpy', number=1000)
> 0.057849884033203125
numpy
어레이는 또한 더 적은 메모리를 소비합니다.
모든 값이 동일한 목록을 만드는 가장 쉬운 방법은 한 요소 목록에을 곱하는 것 n
입니다.
>>> [0] * 4
[0, 0, 0, 0]
따라서 루프의 경우 :
for i in range(10):
print [0] * i
$ python3
>>> from itertools import repeat
>>> list(repeat(0, 7))
[0, 0, 0, 0, 0, 0, 0]
zlists = [[0] * i for i in range(10)]
zlists[0]
0이 0 인 zlists[1]
목록, 1이 0 인 zlists[2]
목록, 2가 0 인 목록 등입니다.
zeros=[0]*4
4
위의 예에서 원하는 숫자로 바꿀 수 있습니다.
목록에서 임의의 수의 0을 반환하는 함수를 원하면 다음을 시도하십시오.
def make_zeros(number):
return [0] * number
list = make_zeros(10)
# list now contains: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
xrange 방법 은 다음과 같습니다 .
list(0 for i in xrange(0,5))
참고 URL : https://stackoverflow.com/questions/8528178/list-of-zeros-in-python
'IT story' 카테고리의 다른 글
phtml이란 무엇이며 언제 .php 대신 .phtml 확장자를 사용해야합니까? (0) | 2020.04.17 |
---|---|
Microsoft Web API : Server.MapPath를 어떻게 수행합니까? (0) | 2020.04.17 |
C ++에서 float의 round () (0) | 2020.04.17 |
앱이 제거 될 때 키 체인 항목 삭제 (0) | 2020.04.17 |
지난 24 시간 동안 변경된 파일 찾기 (0) | 2020.04.17 |