如何将命名元组字符串转换为列表?
问题是我必须在 SQLite 的列中存储一个命名元组列表,这(显然)不支持该格式。我想只是将其转换为字符串。但是,由于我的元组是一个命名元组,我不知道如何从字符串再次列出。
>>> Point = namedtuple("Point", "x y", verbose = False)
>>> p = Point(3, 5)
>>> points = []
>>> points.append(Point(4, 7))
>>> points.append(Point(8, 9))
>>> points.append(p)
>>> p.x
3
>>> print points
[Point(x=4, y=7), Point(x=8, y=9), Point(x=3, y=5)]
我的命名元组列表是这样的^^^^,但它有 6 个参数,而不是上面显示的 2 个。编辑 - 参数是布尔值、整数和字符串。
我尝试了映射,但出现以下错误:
>>> string = str(points)
>>> l = string.strip("[]")
>>> p = map(Point._make, l.split(", "))
Traceback (most recent call last):
File "<pyshell#31>", line 1, in <module>
p = map(Point._make, l.split(", "))
File "<string>", line 17, in _make
TypeError: Expected 2 arguments, got 9
我愿意接受其他更简单的方法来做到这一点。