0

我有一个字符串数组,其中填充了较小的字符串数组,我将它们分成三个一组。它看起来像这样(除了更多):

conv = ('http-get:*:audio/xxx', ':', 'YYY.ORG_XXXXXXXXXX;YYY.ORG_FLAGS=97570000000000000000000000000'), ('http-get:*:video/xxx', ':', 'YYY.ORG_PN=XXXXXXXXXXX;YYY.ORG_FLAGS=ED100000000000000000000000')

我真正想要的这些数组的唯一部分是列表中的第三项。我将如何只打印第三项?我的问题是这是一个数组内的数组。

4

3 回答 3

1

基本上循环遍历conv元组并存储/打印出每个对象中的第二个对象。它可以作为传统的for-loop或使用列表理解来完成。尝试这个 -

>>> [i[2] for i in conv]
['YYY.ORG;YYY.ORG_FLAGS=97570000000', 'YYY.ORG_PN=XXXXXXXXXXX;YYY.ORG_FLAGS=ED100000']
于 2013-07-15T18:05:08.797 回答
0

就像许多其他事情一样,解决方案是列表理解。

array = [[],[] etc. #your array]
print " ".join([item[2] for item in array])
>>>YYY.ORG;YYY.ORG_FLAGS=97570000000 YYY.ORG_PN=XXXXXXXXXXX;YYY.ORG_FLAGS=ED100000

基本上这里的关键部分是这一行:

[item[2] for item in array]

它遍历数组并返回它找到的每个对象的第三个值(零索引)。

For循环等效:

result = []
for item in array:
    result.append(item[2])
于 2013-07-15T18:02:52.477 回答
0

你可以尝试通过扩展来构建一个元组

>>> conv3 = tuple(x[2] for x in conv)

如果你想打印它们,你可以例如使用

>>> ', '.join(x[2] for x in conv)

它做你想做的事吗?

于 2013-07-15T18:02:57.770 回答