2013-03-18 2 views
6

파이썬에서 .extend을 사용하는 방법이 있는지 궁금하지만 원래 목록을 변경하지는 않습니다. 나는이 몇 가지 방법을 구글하려고파이썬 : 원래 변수를 변경하지 않고 list.extend

>> li = [1, 2, 3, 4] 
>> li 
[1, 2, 3, 4] 
>> li.extend([5, 6, 7]) 
[1, 2, 3, 4, 5, 6, 7] 
>> li 
[1, 2, 3, 4] 

,하지만 난 그냥이를 설명하는 올바른 단어를 찾을 수 없습니다 :이 같은 것을보고 그 결과를 싶습니다. Ruby에는 다음과 같은 내용이 있습니다. 원래 목록을 변경하려면 li.extend!([5,6,7])과 같은 식으로 작업하십시오. 그렇지 않으면 원본을 변경하지 않고 결과 만 얻을 수 있습니다. 이 똑같은 일이 파이썬에도 존재합니까?

감사합니다.

+0

! '그렇지 않으면'!'옵션은 Ruby가 Array 메소드에 특별히 가지고있는 것과 같다. 그럼에도 불구하고, 아래 답변은이 이데올로기의 대안을 가지고 있습니다. – squiguy

답변

16

파이썬의 + 연산자 목록을 연결하는 오버로드, 그래서에 대해 어떻게 :

>>> li = [1, 2, 3, 4] 
>>> new_list = li + [5, 6, 7] 
>>> new_list 
[1, 2, 3, 4, 5, 6, 7] 
+0

+1 명백한 방법 – wim

0

나는 어색 알고 있지만, 그것을 작동 : 나는 파이썬에서 제공하는`생각하지 않는다

a = [1,2,3] 
b = list(a) 
b.extend([4,5]) 
+2

'b = a [:]'가 더 좋은 아이디어로 여겨 질 것입니다. –

관련 문제