读取列表元组和整数的 txt 文件



什么是读取列表和整数元组的有效方法?

txt 文件中的每一行应如下所示:

([1, 2, 3, 4, 5, 6], 1)

首先想到的是使用.split('],'),但是接下来如何处理元组?

谢谢!

给定已读入一行,

s = ([1, 2, 3, 4, 5, 6], 1)

我们首先需要解析元组括号。根据你问题的措辞,我的理解是每行只有一个元组。因此,我们可以先使用字符串拼接来删除外面的括号。

s = s[1:len(s) - 1]

给我们,[1, 2, 3, 4, 5, 6], 1

接下来我们要从 int 中拆分列表。使用],作为分隔符拆分字符串是正确的,但是在这种情况下,我们将留下,

['[1, 2, 3, 4, 5, 6', ' 1']

一种类似但略有不同的方法是使用正则表达式并仅在直接由]进行的,上进行拆分 我们将使用正面回溯技术来实现这一点。

import re
s = s[1:len(s) - 1]
regex = '(?<=]), '
results = re.split(regex, s)

现在results将是两个值的列表,

  1. 列表的字符串表示形式,[1, 2, 3, 4, 5, 6]
  2. 我们的整数值1为字符串

最后,为了拆分和使用我们的元组值,我们将使用类似的方法。

  1. 通过拼接移除左括号和右括号
  2. 使用,作为分隔符拆分剩余字符串

如图所示,

listResult = results[0]
listResult = listResult[1:len(listResult) - 1]
listResult = listResult.split(', ')

最后,我们的整数值可以通过访问索引1results列表来获得,

intResult = results[1]

相关内容

  • 没有找到相关文章

最新更新