[python] 목록의 각 요소에 정수를 추가하는 방법은 무엇입니까?

만약 내가 list=[1,2,3]내가 추가 할 1출력을 얻기 위해 각 요소에 [2,3,4], 나는 어떻게 할 것인가?

나는 for 루프를 사용한다고 가정하지만 정확히 어떻게 확신하지 못합니다.



답변

new_list = [x+1 for x in my_list]


답변

>>> mylist = [1,2,3]
>>> [x+1 for x in mylist]
[2, 3, 4]
>>>

list-prepreensions python .


답변

목록 이해에 대한 다른 답변은 아마도 간단한 추가에 가장 좋은 방법 일 것입니다. 그러나 더 복잡한 기능이 있으면 모든 요소에 적용 해야하는 경우 map 이 적합 할 수 있습니다.

귀하의 예에서는 다음과 같습니다.

>>> map(lambda x:x+1, [1,2,3])
[2,3,4]


답변

numpy를 사용하려면 다음과 같은 다른 방법이 있습니다.

import numpy as np
list1 = [1,2,3]
list1 = list(np.asarray(list1) + 1)


답변

편집 : 이것은 제자리에 없습니다

먼저 변수에 ‘list’라는 단어를 사용하지 마십시오. 키워드를 숨 깁니다 list.

가장 좋은 방법은 스 플라이 싱을 사용하여 제자리에 수행하는 것입니다 [:]. 스플 라이스를 나타냅니다.

>>> _list=[1,2,3]
>>> _list[:]=[i+1 for i in _list]
>>> _list
[2, 3, 4]


답변

>>> [x.__add__(1) for x in [1, 3, 5]]
3: [2, 4, 6]

여기서 의도는 목록의 항목이 다양한 내장 함수를 지원하는 정수인 경우 노출하는 것입니다.


답변

파이썬 2 이상 :

>>> mylist = [1,2,3]
>>> map(lambda x: x + 1, mylist)
[2, 3, 4]

파이썬 3 이상 :

>>> mylist = [1,2,3]
>>> list(map(lambda x: x + 1, mylist))
[2, 3, 4]