2013-07-24 4 views
3

두 부분으로 나눌 목록이 있습니다. 각 부분을 다른 목록에 써야합니다. 내가 시도한 코드는 여기에 있으며 잘 작동합니다.리스트를 나누어 목록을 별도의 목록에 추가하십시오.

import sys 
a = ['name','2',3,4,5,'a','b','c','d',10,4,'lol','3'] 
print len(a) 
list1 =[] 
list2 = [] 
for i in xrange(0, (len(a)/2)): 
    list1.append(a[i]) 
    list2.append(a[(i)+((len(a)/2))]) 
list2.append(a[(len(a))-1]) 
print list1 
print list2 
내가이 일을 다른 더 나은 대안 방법이 있는지 알고 싶습니다

..

답변

5

사용 Python slice notation :

a = ['name', '2', 3, 4, 5, 'a', 'b', 'c', 'd', 10, 4, 'lol', '3'] 
n = len(a) 
print(n) 
mid = n // 2 
list1, list2 = a[:mid], a[mid:] 
print(list1) 
print(list2) 
+0

고맙습니다 ... –

1
a = ['name','2',3,4,5,'a','b','c','d',10,4,'lol','3'] 
mid = len(a)//2 
list1, list2=a[:mid], a[mid:] 


>>> list1 
['name', '2', 3, 4, 5, 'a'] 
>>> list2 
['b', 'c', 'd', 10, 4, 'lol', '3'] 

확실히 한 대답과 비슷하지만, 약간 더 짧고 조금 더

+0

감사합니다 ... 건배! –

관련 문제