2014-03-26 6 views
1

파이썬에서 목록의 항목 범위에 정수를 추가하고 싶습니다.파이썬에서 목록의 특정 항목에 정수를 추가 하시겠습니까?

나는 당신이 목록에 마다 항목을 정수를 추가하려면이 정확하다는 것을 알고

A = 2 
B = 5 
C = 6 
mylist = [1,2,3,4,5,6,7,8] 
mylist[:] = [i+C for i in mylist] 
print mylist 

을하지만 B를 통해 항목 A를 C를 추가하고 싶습니다 대신 너무 이 목록에 결과 :

mylist = [7,8,9,10,11,12,13,14] 
나는이 목록을 얻을 것

:

mylist = [1,2,*9*,*10*,*11*,*12*,7,8] 

이 방법이 있습니까?

감사 목록의 조각에

답변

6

할당을 : 원본을 수정하지 않으려면 @iCodez 응답에 추가

>>> A = 2 
>>> B = 5 
>>> C = 6 
>>> mylist = [1,2,3,4,5,6,7,8] 
>>> mylist[A:B+1] = [i+C for i in mylist[A:B+1]] 
>>> mylist 
[1, 2, 9, 10, 11, 12, 7, 8] 
>>> 
1
for i in range(A, B+1): 
    mylist[i] += C 
1

는, 당신은 IF- 사용할 수 있습니다 else

A = 2 
B = 5 
C = 6 
oldlist = [1,2,3,4,5,6,7,8] 
mylist = [x+C if A <= i <= B else x for i, x in enumerate(oldlist)] 
0
mylist[A:B+1] = [i+C for i in mylist[A:B+1]] 
관련 문제