首页 > 解决方案 > 字符串列表或单个字符串中的命名元组之间的区别?

问题描述

这两个命名元组有什么区别:

Point = collections.namedtuple('Point','x,y')

Point = collections.namedtuple('Point',['x','y'])

对我来说,两者在功能上似乎相同(使用 python 3.8.0)

标签: pythonpython-3.xnamedtuple

解决方案


这两个命名元组确实是相同的:-)

>>> import collections
>>> Point1 = collections.namedtuple('Point','x,y')
>>> Point2 = collections.namedtuple('Point',['x','y'])
>>> Point1._fields
('x', 'y')
>>> Point2._fields
('x', 'y')

根据namedtuple()文档

field_names 是一个字符串序列,例如 ['x', 'y']。或者,field_names 可以是单个字符串,每个字段名由空格和/或逗号分隔,例如“x y”或“x, y”。


推荐阅读