프로그래밍 언어/Python

특정 크기로 Python에서 빈 리스트 만들기

Rateye 2022. 3. 29. 13:33
728x90
반응형
질문 : 특정 크기로 Python에서 빈 목록 만들기

10 개의 요소를 포함 할 수있는 빈 목록 (또는 가장 좋은 방법)을 만들고 싶습니다.

그 후 해당 목록에 값을 할당하고 싶습니다. 예를 들어 0에서 9까지 표시해야합니다.

s1 = list();
for i in range(0,9):
   s1[i] = i

print s1

하지만이 코드를 실행하면 오류가 발생하거나 다른 경우에는 [] (비어 있음) 만 표시됩니다.

누군가 이유를 설명 할 수 있습니까?

답변

목록이 이미 최소한 i+1 요소로 lst[i] = something 과 같은 목록에 할당 할 수 없습니다. 목록 끝에 요소를 추가하려면 append를 사용해야합니다. lst.append(something) .

(사전을 사용하는 경우 할당 표기법을 사용할 수 있습니다).

빈 목록 만들기 :

>>> l = [None] * 10
>>> l
[None, None, None, None, None, None, None, None, None, None]

위 목록의 기존 요소에 값 할당 :

>>> l[1] = 5
>>> l
[None, 5, None, None, None, None, None, None, None, None]

l[15] = 5 와 같은 것은 여전히 실패 할 것임을 명심하십시오. 우리 목록에는 10 개의 요소 만 있습니다.

range (x)는 [0, 1, 2, ... x-1]에서 목록을 만듭니다.

# 2.X only. Use list(range(10)) in 3.X.
>>> l = range(10)
>>> l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

함수를 사용하여 목록 만들기 :

>>> def display():
...     s1 = []
...     for i in range(9): # This is just to tell you how to create a list.
...         s1.append(i)
...     return s1
... 
>>> print display()
[0, 1, 2, 3, 4, 5, 6, 7, 8]

목록 이해 (범위에 대해이 모든 작업을 수행 할 필요가 없기 때문에 사각형을 사용하면 range(0,9) ) :

>>> def display():
...     return [x**2 for x in range(9)]
... 
>>> print display()
[0, 1, 4, 9, 16, 25, 36, 49, 64]
출처 : https://stackoverflow.com/questions/10712002/create-an-empty-list-in-python-with-certain-size
728x90
반응형