将字符串列表转换为元组列表

2024-06-08 20:34:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字符串列表如下

['40799\t1890\t11-16-15\n', '40800\t1890\t11-17-15\n', '40801\t1890\t11-18-15\n', '40802\t1890\t11-19-15\n']

想转换如下

^{pr2}$

Tab是每列的分隔符。我可以用一些循环来转换。但是想知道是否可以使用一个命令转换列表,因为列表可能有很多项


Tags: 字符串命令列表tab分隔符pr2t11t1890
3条回答
>>> data = ['40799\t1890\t11-16-15\n', '40800\t1890\t11-17-15\n', '40801\t1890\t11-18-15\n', '40802\t1890\t11-19-15\n']
>>> [(x, int(y), z) for x, y, z in (line.split() for line in data)]
[('40799', 1890, '11-16-15'), ('40800', 1890, '11-17-15'), ('40801', 1890, '11-18-15'), ('40802', 1890, '11-19-15')]
lst = ['40799\t1890\t11-16-15\n', '40800\t1890\t11-17-15\n', '40801\t1890\t11-18-15\n', '40802\t1890\t11-19-15\n']

print [tuple(s.split()) for s in lst]

输出:

^{pr2}$
>>> data = ['40799\t1890\t11-16-15\n', '40800\t1890\t11-17-15\n', '40801\t1890\t11-18-15\n', '40802\t1890\t11-19-15\n']
>>> [tuple(line.split()) for line in data]
[('40799', '1890', '11-16-15'), ('40800', '1890', '11-17-15'), ('40801', '1890', '11-18-15'), ('40802', '1890', '11-19-15')]

相关问题 更多 >