2013-07-24 2 views
3

У меня есть список, который должен быть разделен на две части, тогда каждая часть должна быть записана в разные списки. Код, который я пробовал, здесь, и он отлично работает.Разделите список и добавьте список в отдельные списки python

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'] 

очень похожи на ответ 1, но бит короче и немного быстрее

+0

Спасибо ... Приветствия! –

Смежные вопросы