Programming

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

procodes 2020. 8. 9. 19:18
반응형

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


출력을 얻기 위해 각 요소에 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-comprehensions python .


목록 이해에 대한 다른 답변은 간단한 추가에 가장 좋은 방법 일 수 있지만 모든 요소에 적용해야하는 더 복잡한 기능이있는 경우 이 적합 할 수 있습니다.

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

>>> 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)

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

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


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

가장 좋은 방법은 [:]스플 라이스를 사용하여 제자리에서하는 것입니다 .

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

Python 2 이상 :

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

Python 3 이상 :

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

list = [1,2,3,4,5]

for index in range(5):
      list[index] = list[index] +1

print(list)

그렇게 효율적이지는 않지만 독특한 방법을 발견했습니다. 그래서 공유하고 또 다른 목록을위한 추가 공간이 필요합니다.

test_list1 = [4, 5, 6, 2, 10]
test_list2 = [1] * len(test_list1)

res_list = list(map(add, test_list1, test_list2))

print(test_list1)
print(test_list2)
print(res_list)

#### Output ####
[4, 5, 6, 2, 10]
[1, 1, 1, 1, 1]
[5, 6, 7, 3, 11]

참고 URL : https://stackoverflow.com/questions/9304408/how-to-add-an-integer-to-each-element-in-a-list

반응형