如何从python中的元组中提取简单的字符串(新手问题)

时间:2010-07-29 22:23:02

标签: python string parsing tuples

我有一个相当大的元组,其中包含:

[('and', 44023), ('cx', 37711), ('is', 36777) .... ]

我只想提取由单引号分隔的第一个字符串,因此上面元组的输出将为:

and
cx
is

我如何对此进行编码(在某种程度上内置了可扩展性)?

4 个答案:

答案 0 :(得分:14)

[tup[0] for tup in mylist]

这使用列表理解。您也可以使用括号而不是外括号来使其成为生成器理解,因此评估将是懒惰的。

答案 1 :(得分:6)

只是为马修提供另一种解决方案。

tuples = [('and', 44023), ('cx', 37711), ('is', 36777) .... ]
strings, numbers = zip(*tuples)

如果您在某些时候决定将元组的两个部分放在不同的序列中(避免两个列表推导)。

答案 2 :(得分:1)

如果您想获得准确的输出

and
cx
is

然后结合字符串join方法使用列表推导来加入换行符,就像这样

yourList = [('and', 44023), ('cx', 37711), ('is', 36777)]
print '\n'.join([tup[0] for tup in yourList])

答案 3 :(得分:0)

您可以在for循环中解压缩元组,如下所示:

for word, count in mytuple:
    print "%r is used %i times!" % (word, count)

您可以在Python文档中广泛使用这个: http://docs.python.org/tutorial/datastructures.html#looping-technique