만약 내가 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]
>>>
답변
목록 이해에 대한 다른 답변은 아마도 간단한 추가에 가장 좋은 방법 일 것입니다. 그러나 더 복잡한 기능이 있으면 모든 요소에 적용 해야하는 경우 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]
