首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python-以列表的形式从文件中读取两个列表

Python-以列表的形式从文件中读取两个列表
EN

Stack Overflow用户
提问于 2017-01-08 17:40:55
回答 1查看 532关注 0票数 1

我在一个.txt文件中有两个列表,我需要python来读取该文件,并在变量名下创建两个单独的列表。目前,我可以读取数据并将其拆分为两个变量(:pointer和pointer:),但Python将它们解释为字符串。无论如何,我可以在不破坏格式的情况下将它们解释为列表(我尝试过.split()和list(),它们都破坏了格式。

我在文件中的内容:

代码语言:javascript
运行
复制
["A","B","C","D","E","F"]
[0,1,2,3,4,5,6,7,8,9,10]

我需要将它读入两个变量,这样它就是这样的:

代码语言:javascript
运行
复制
List1 = ["A","B","C","D","E","F"]
List2 = [0,1,2,3,4,5,6,7,8,9,10]

这是为了让我可以使用如下方法:

代码语言:javascript
运行
复制
List1[3] = "D"

如果你能帮我解决这个问题,我将不胜感激。因此,我只需要将.txt文件中的两个列表作为两个单独的列表读取到Python中。

EN

回答 1

Stack Overflow用户

发布于 2017-01-08 17:47:36

您可以通过在map中使用ast.literal_eval来实现这一点

代码语言:javascript
运行
复制
import ast

with open('/path/to/my_file.txt') as f:
    my_list = map(ast.literal_eval, f.readlines())
    #                 ^ to convert *list like string* to `list` object

现在您可以使用索引访问单个列表,如下所示:

代码语言:javascript
运行
复制
>>> my_list[0]
['A', 'B', 'C', 'D', 'E', 'F']
>>> my_list[1]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

如果必须将其存储到变量中(尽管我强烈建议根据索引访问值),您可以将返回的列表解包到变量中,如下所示:

代码语言:javascript
运行
复制
list1, list2 = map(ast.literal_eval, f.readlines()) 

# Note: Number of variables used to unwrap the list should be 
#       equal to count of nested lists.
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41531334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档