XML标记计数器

时间:2017-12-16 17:21:00

标签: python xml python-3.x counting

请参阅附件。我是python的新手(一般的编程;职业转换; tldr:我是一个菜鸟)。

我不知道我能写什么功能会返回列表中xml标签的数量。请帮忙。 attached image

2 个答案:

答案 0 :(得分:1)

如问题中所述:

  

如果字符串是以<开头并以>

结尾的字符串,则可以检查该字符串是否为XML标记

您需要遍历列表中的每个字符串,并使用str.startswith()str.endswith()来检查第一个和最后一个字符:

In [1]: l = ["<string1>", "somethingelse", "</string1>"]

In [2]: [item for item in l if item.startswith("<") and item.endswith(">")]
Out[2]: ['<string1>', '</string1>']

我们刚刚在list comprehension中过滤了所需的字符串,但为了计算我们获得的匹配项数量,我们可以在每次匹配时使用sum()添加1

In [3]: sum(1 for item in l if item.startswith("<") and item.endswith(">"))
Out[3]: 2

这只是一种方法,我不知道你的课程有多远。一个更天真,更直接的答案可能是:

def tag_count(l):
    count = 0
    for item in l:
        if item.startswith("<") and item.endswith(">"):
            count += 1
    return count

答案 1 :(得分:0)

tokens = ['<greeting>', 'Hello World!', '</greeting>']
count = 0

# write your for loop here
for token in tokens:
    if token.startswith("<") and token.endswith(">"):
            count += 1

print(count)