Сохранить вложенный список в новые меньшие списки с помощью Python - PullRequest
0 голосов
/ 23 мая 2019

У меня есть список (этот список), я разбил его на меньшие списки (вложенные), и я хочу взять каждый индекс вложенного списка и сохранить его в другом списке, массиве и т. Д.

thislist = [39.435138344488145, 22.73229454094485, 39.43684333469196, 22.73215634579526, 39.43681019007974, 22.731609175156223, 39.43507007579199, 22.731759378861057, 39.43511979394629, 22.732236812065707, 39.435138344488145, 22.73229454094485]

n = 2

def divide_chunks(l, n):
    for i in range(0, len(l), n):
        yield l[i:i + n]

x = list(divide_chunks(thislist, n))
print(x)

Iожидаем, что результат будет как:

list1=[39.435138344488145, 22.73229454094485]
list2=[39.43684333469196, 22.73215634579526]
list3= [39.43681019007974, 22.731609175156223]
etc

Ответы [ 2 ]

0 голосов
/ 23 мая 2019

Я думаю, что это то, что вы хотите:

thislist = [39.435138344488145, 22.73229454094485, 39.43684333469196, 22.73215634579526, 39.43681019007974, 22.731609175156223, 39.43507007579199, 22.731759378861057, 39.43511979394629, 22.732236812065707, 39.435138344488145, 22.73229454094485]

n = 2

def divide_chunks(l, n):
    for i in range(0, len(l), n):
        yield l[i:i + n]

for index, x in enumerate(divide_chunks(thislist, n)):
    exec("list{} = x".format(index + 1))
try:
    print(list1)
except NameError:
    print("Not a valid list")

При этом лучше всего выполнять индексирование списков для большинства случаев использования.(Использование exec и eval обычно не рекомендуется).

0 голосов
/ 23 мая 2019

Попробуйте это -

chunks = [thislist[x:x+2] for x in range(0, len(thislist), 2)]
list_dict = {i: chunks[i] for i in range(0, len(chunks))}
g = globals()
for i in range(0, len(chunks)):
    g['list{0}'.format(i)] = list_dict[i]

Это должно дать вам желаемый результат! :)

...