如何打印Python子字符串的一部分?

2024-09-29 17:18:28 发布

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

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

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

我真正想要的是这些数组中的第三项。我怎样才能只打印第三项呢?我的问题是这是数组中的一个数组。你知道吗


Tags: 字符串orghttpgetvideo数组audioxxx
3条回答

您可以尝试通过扩展来构建元组

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

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

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

它能满足你的要求吗?你知道吗

和其他许多事情一样,解决方案是列表理解。你知道吗

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]

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

对于回路当量:

result = []
for item in array:
    result.append(item[2])

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

>>> [i[2] for i in conv]
['YYY.ORG;YYY.ORG_FLAGS=97570000000', 'YYY.ORG_PN=XXXXXXXXXXX;YYY.ORG_FLAGS=ED100000']

相关问题 更多 >

    热门问题