Очевидно, что интерпретатор имеет некоторые ограничения при разборе вложенных списков (в нашем примере, но, скорее всего, это относится и к другим контейнерам).Он ломает как ast.literal_eval
, так и eval
( unsafe ), и тот факт, что оба имеют одинаковое ограничение, говорит мне, что они оба используют некоторый общий код (который также может влиять на другие области).
В моем случае это 92 ( 93 разбивает его), но так как быстрый Python источникпоиск по коду не выявил ничего релевантного (например, константа, #define
или что-то подобное), это значение может быть связано с моей средой (машина, стек, OS , Python версия и т. д.).
Обратите внимание, что вложенные списки могут иметь гораздо более высокий уровень вложенности (ограничен [Python]: sys. getrecursionlimit () - для меня попытка создать Вложенные списки уровня 999 (или выше), поднятые RecursionError
).
(py35x64_test) e:\Work\Dev\StackOverflow\q050709371>"e:\Work\Dev\VEnvs\py35x64_test\Scripts\python.exe" code.py
Python 3.5.4 (v3.5.4:3f56838, Aug 8 2017, 02:17:05) [MSC v.1900 64 bit (AMD64)] on win32
Trying to parse a 92 level nested list using 'literal_eval':
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[['0'], '1'], '2'], '3'], '4'], '5'], '6'], '7'], '8'], '9'], '10'], '11'], '12'], '13'], '14'], '15'], '16'], '17'], '18'], '19'], '20'], '21'], '22'], '23'], '24'], '25'], '26'], '27'], '28'], '29'], '30'], '31'], '32'], '33'], '34'], '35'], '36'], '37'], '38'], '39'], '40'], '41'], '42'], '43'], '44'], '45'], '46'], '47'], '48'], '49'], '50'], '51'], '52'], '53'], '54'], '55'], '56'], '57'], '58'], '59'], '60'], '61'], '62'], '63'], '64'], '65'], '66'], '67'], '68'], '69'], '70'], '71'], '72'], '73'], '74'], '75'], '76'], '77'], '78'], '79'], '80'], '81'], '82'], '83'], '84'], '85'], '86'], '87'], '88'], '89'], '90'], '91']
Trying to parse a 93 level nested list using 'literal_eval':
s_push: parser stack overflow
Traceback (most recent call last):
MemoryError
Trying to parse a 92 level nested list using 'eval':
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[['0'], '1'], '2'], '3'], '4'], '5'], '6'], '7'], '8'], '9'], '10'], '11'], '12'], '13'], '14'], '15'], '16'], '17'], '18'], '19'], '20'], '21'], '22'], '23'], '24'], '25'], '26'], '27'], '28'], '29'], '30'], '31'], '32'], '33'], '34'], '35'], '36'], '37'], '38'], '39'], '40'], '41'], '42'], '43'], '44'], '45'], '46'], '47'], '48'], '49'], '50'], '51'], '52'], '53'], '54'], '55'], '56'], '57'], '58'], '59'], '60'], '61'], '62'], '63'], '64'], '65'], '66'], '67'], '68'], '69'], '70'], '71'], '72'], '73'], '74'], '75'], '76'], '77'], '78'], '79'], '80'], '81'], '82'], '83'], '84'], '85'], '86'], '87'], '88'], '89'], '90'], '91']
Trying to parse a 93 level nested list using 'eval':
s_push: parser stack overflow
Traceback (most recent call last):
MemoryError
Trying to parse a 92 level nested list using 'json_loads_wrapper':
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[['0'], '1'], '2'], '3'], '4'], '5'], '6'], '7'], '8'], '9'], '10'], '11'], '12'], '13'], '14'], '15'], '16'], '17'], '18'], '19'], '20'], '21'], '22'], '23'], '24'], '25'], '26'], '27'], '28'], '29'], '30'], '31'], '32'], '33'], '34'], '35'], '36'], '37'], '38'], '39'], '40'], '41'], '42'], '43'], '44'], '45'], '46'], '47'], '48'], '49'], '50'], '51'], '52'], '53'], '54'], '55'], '56'], '57'], '58'], '59'], '60'], '61'], '62'], '63'], '64'], '65'], '66'], '67'], '68'], '69'], '70'], '71'], '72'], '73'], '74'], '75'], '76'], '77'], '78'], '79'], '80'], '81'], '82'], '83'], '84'], '85'], '86'], '87'], '88'], '89'], '90'], '91']
Trying to parse a 93 level nested list using 'json_loads_wrapper':
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[['0'], '1'], '2'], '3'], '4'], '5'], '6'], '7'], '8'], '9'], '10'], '11'], '12'], '13'], '14'], '15'], '16'], '17'], '18'], '19'], '20'], '21'], '22'], '23'], '24'], '25'], '26'], '27'], '28'], '29'], '30'], '31'], '32'], '33'], '34'], '35'], '36'], '37'], '38'], '39'], '40'], '41'], '42'], '43'], '44'], '45'], '46'], '47'], '48'], '49'], '50'], '51'], '52'], '53'], '54'], '55'], '56'], '57'], '58'], '59'], '60'], '61'], '62'], '63'], '64'], '65'], '66'], '67'], '68'], '69'], '70'], '71'], '72'], '73'], '74'], '75'], '76'], '77'], '78'], '79'], '80'], '81'], '82'], '83'], '84'], '85'], '86'], '87'], '88'], '89'], '90'], '91'], '92']
Original list:
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[['Xenophrys_bairdii'], 'Vulpanser_spaldingi'], 'Vipera_yeltoniensis'], 'Vipera_minutus'], 'Vanellus_vegans'], 'Vanellus_bedriagai'], 'Ursus_gratiosa'], 'Uroplatus_flavomaculatus'], 'Trionyx_leporosum'], 'Tringa_aspera'], 'Trachemys_sirtalis'], 'Terpsihone_varius'], 'Spermophilus_hassanica'], 'Siniperca_decor'], 'Scolopendra_marcianus'], 'Rufibrenta_montela'], 'Riparia_clinatus'], 'Rhinolophus_tuberculosus'], 'Rhacodactylus_citrsola'], 'Remiz_niloticus'], 'Pterinochilus_physalus'], 'Procellaria_truncatus'], 'Procellaria_lutris'], 'Poephagus_indica'], 'Platemys_albopillosum'], 'Pica_totanus'], 'Pica_mexicana'], 'Phrynomerus_pelagicus'], 'Philothamnus_tuberculosus'], 'Petrocincla_acuta'], 'Pelomedusa_rusticolus'], 'Pagophila_metallica'], 'Pachytriton_sibiricus'], 'Otis_moschata'], 'Otis_franckii'], 'Otis_emarginatus'], 'Opheodrys_clarus'], 'Mylopharyngodon_diffidens'], 'Mergus_carinata'], 'Meles_carbonaria'], 'Mabuya_carnivorus'], 'Lystrophis_siebenrocki'], 'Lyrurus_tinctorius'], 'Lycodon_dendrophila'], 'Lutra_plathyrhychos'], 'Leptopelis_plumipes'], 'Leptopelis_licin'], 'Leiurus_grossmani'], 'Lasiodora_hipposideros'], 'Larus_pulchripes'], 'Kinosternon_guineti'], 'Kassina_canorus'], 'Hysterocrates_chukar'], 'Hydrochelidon_euptilura'], 'Hemitheconyx_pulchripes'], 'Haplopelma_arcticus'], 'Hadrurus_dominus'], 'Gypaetus_schneideri'], 'Glareola_leucophyllata'], 'Gerrhosaurus_ruficollis'], 'Geochelone_filipjevi'], 'Gallinago_pallasii'], 'Eutamias_multifasciata'], 'Eulabeia_tinnunculus'], 'Eudrornias_penelope'], 'Eudramias_tadorna'], 'Eschrichtius_pulchra'], 'Eremophila_similis'], 'Equus_fluviatilis'], 'Epicrates_carinatus'], 'Emydura_avosetta'], 'Emberiza_japonica'], 'Dyscophus_rubicola'], 'Dendrelaphis_griseus'], 'Cypselus_ceterus'], 'Cynops_rutila'], 'Cygnus_rubicola'], 'Ctenosaura_sphenocercus'], 'Coenobita_variabilis'], 'Clemmys_caudata'], 'Cervus_comicus'], 'Castor_prominanus'], 'Casarca_holbrooki'], 'Capella_aestivus'], 'Buthus_nebularia'], 'Bronchocela_bicoloratum'], 'Branta_ferrumequinum'], 'Balaenoptera_piscator'], 'Athene_musculus'], 'Argynnis_versicolor'], 'Arenaria_javanica'], 'Anthropoides_aestivus'], 'Anolis_medirostris'], 'Anodonta_infrafrenata'], 'Ambystoma_alcinous'], 'Acanthoceros_euptilura']