2010-04-23 3 views
4

다음과 비슷한 정수 목록을 문자열로 나타냅니다.[ '3', '1', '2'] 문자열 목록을 정렬 된 정수 [1, 2, 3] 목록으로 변환

L1 = ['11', '10', '13', '12', 
     '15', '14', '1', '3', 
     '2', '5', '4', '7', 
     '6', '9', '8'] 

내가 그것을 같은 정수의 목록을 만들 필요가 마지막으로

L2 = [11, 10, 13, 12, 15, 14, 1, 3, 2, 5, 4, 7, 6, 9, 8] 

을 나는 아래처럼 정렬합니다 :

L3 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] # by L2.sort() 

은 알려 주시기 바랍니다 어떤 L1에서 L3으로가는 가장 좋은 방법은 무엇입니까?

+0

인가? –

+2

@Michael Dorgan : 모든 기본적인 질문은 숙제가 아닙니다. OP가 숙제인지 여부를 알려줍니다. –

답변

5
>>> L1 = ['11', '10', '13', '12', '15', '14', '1', '3', '2', '5', '4', '7', '6', '9', '8'] 
>>> L1 = [int(x) for x in L1] 
>>> L1 
[11, 10, 13, 12, 15, 14, 1, 3, 2, 5, 4, 7, 6, 9, 8] 
>>> L1.sort() 
>>> L1 
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] 
>>> L3 = L1 
19

당신이 좋아 한 번에 그것을 할 수 :

L3 = sorted(map(int, L1)) 

을보다 구체적으로, 여기 단계는 다음과 같습니다가 숙제

>>> L1 = ['11', '10', '13', '12', '15', '14', '1', '3', '2', '5', '4', '7', '6', '9', '8'] 
>>> L1 
['11', '10', '13', '12', '15', '14', '1', '3', '2', '5', '4', '7', '6', '9', '8'] 
>>> map(int, L1) 
[11, 10, 13, 12, 15, 14, 1, 3, 2, 5, 4, 7, 6, 9, 8] 
>>> sorted(_) 
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] 
>>> 
+0

나는 그런 밑줄을 사용할 수 있는지 몰랐다. 그 통역관은 구체적인가? +1 –

+0

@Xavier, 인터랙티브 인터프리터에서만 약간의 편의점이 있습니다. –

+0

예'_'는 이런 식으로 통역사에서만 작동합니다. 스크립트 내에서 "_"에 액세스하는 유일한 방법은 목록 내재되어 있습니다.'locals() [ '[1]'.__ self__'는 생성되는 목록을 반환합니다. –

4
L3 = sorted(int(x) for x in L1)