将表示列表的字符串转换为实际的列表对象

Converting a string that represents a list, into an actual list object(将表示列表的字符串转换为实际的列表对象)
本文介绍了将表示列表的字符串转换为实际的列表对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我有一个代表列表的字符串:

I have a string that represents a list:

"[22, 33, 36, 41, 46, 49, 56, 72, 85, 92, 95, 98, 107, 118, 120, 123, 124, 126, 127, 130, 149, 157, 161, 171, 174, 177, 187, 195, 225, 302, 316, 359, 360, 363, 396, 479, 486, 491]"

我想把这个字串变成一个实际的列表.我想可以正则表达式输出数字然后循环(append())但是有没有更简单的方法?不知道如何将其设置为正则表达式.

I would like to turn that litteral string into an actual list. I suppose to could regex out the numbers and loop over then (append()) but is there an easier way? Not sure how I would set that up as a regex.

推荐答案

使用 ast.literal_eval.

>>> import ast
>>> i = ast.literal_eval('[22, 33, 36, 41, 46, 49, 56]')
>>> i[3]
41

这篇关于将表示列表的字符串转换为实际的列表对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

Multiprocessing on Windows breaks(Windows 上的多处理中断)
How to use a generator as an iterable with Multiprocessing map function(如何将生成器用作具有多处理映射功能的可迭代对象)
read multiple files using multiprocessing(使用多处理读取多个文件)
Why does importing module in #39;__main__#39; not allow multiprocessig to use module?(为什么在__main__中导入模块不允许multiprocessig使用模块?)
Trouble using a lock with multiprocessing.Pool: pickling error(使用带有 multiprocessing.Pool 的锁时遇到问题:酸洗错误)
Python sharing a dictionary between parallel processes(Python 在并行进程之间共享字典)