3

我从以下得到了很好的结果,但是如何从元组中提取该数据?换句话说,我如何清理数据?

这是数据库中的数据,我用完了。

>>> policy_id = ((2309L,), (118L,), (94L,))
>>> for i in policy_id:
        print i


(2309L,)
(118L,)
(94L,)

但我希望结果为:

2309
118
94
4

6 回答 6

11
policy_id = ((2309L,), (118L,), (94L,))
for i in policy_id:
    print i[0]  
于 2012-05-11T10:33:01.260 回答
3
>>> from itertools import chain
>>> policy_id = ((2309L,), (118L,), (94L,))
>>> for i in chain.from_iterable(policy_id):
        print i


2309
118
94
于 2012-05-11T10:36:11.930 回答
2
print '\n'.join(str(x[0]) for x in policy_id)
于 2012-05-11T10:36:12.460 回答
2

我喜欢的一个可能会让人混淆的概念如下:

Python2

policy_id = ((2309L,), (118L,), (94L,))
for i, in policy_id:
    print i

Python3

policy_id = ((2309,), (118,), (94,))
for i, in policy_id:
    print(i)

,后解i包单个元素元组的元素(不适用于元素多于一个的元组)。

于 2016-07-19T14:05:32.850 回答
1
>>> policy_id = ((2309L,), (118L,), (94L,))
>>> print("\n".join(str(x[0]) for x in policy_id))
2309
118
94
于 2012-05-11T10:39:11.200 回答
0

使用地图的其他方式

map(lambda x: str(x[0]), policy_id)

如果你想要新的线路然后

"\n".join(map(lambda x: str(x[0]), policy_id))

于 2013-01-29T07:45:18.240 回答