Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在列表中计数_Python - Fatal编程技术网

Python 在列表中计数

Python 在列表中计数,python,Python,我需要编写一个函数,tag\u count,它以字符串列表作为参数。它应该返回这些字符串中有多少是XML标记的计数。如果字符串以左尖括号“”开头,则可以判断它是否为XML标记 def标签计数(输入列表): 找到=0 counts=input_list.count(“尝试计算列表中单个的字符串数的主要问题”尝试计算列表中单个的定义标记计数的字符串数的主要问题(input_list): 找到=0 对于输入列表中的键: 如果(len(key)>1)和(key[0]='': 发现+=1 返回发现 您需

我需要编写一个函数,
tag\u count
,它以字符串列表作为参数。它应该返回这些字符串中有多少是XML标记的计数。如果字符串以左尖括号“”开头,则可以判断它是否为XML标记

def标签计数(输入列表):
找到=0

counts=input_list.count(“尝试计算列表中单个
的字符串数的主要问题”尝试计算列表中单个
定义标记计数的字符串数的主要问题(input_list):
找到=0
对于输入列表中的键:
如果(len(key)>1)和(key[0]='':
发现+=1
返回发现
您需要检查密钥中的字符是否对应于“>”或“
def tag\u count(输入列表):
找到=0
对于输入列表中的键:
如果(len(key)>1)和(key[0]='':
发现+=1
返回发现

您需要检查键中的字符是否对应于“>”或“”。您可以将其写入列表理解符号:

requested_strs = len([s for s in input_list if s and s.startswith('<') and s.endswith('>')])
requested_strs=len([s代表输入列表中的s,如果s和s.startswith(“”)])

尽管这是一个简单的解决方案,但我不建议在case中使用regex。编译regex以匹配字符串并匹配它们将花费大量时间来执行简单的检查,如下面所示。

您可以使用列表理解符号编写它:

requested_strs = len([s for s in input_list if s and s.startswith('<') and s.endswith('>')])
requested_strs=len([s代表输入列表中的s,如果s和s.startswith(“”)])
尽管这是一个简单的解决方案,但我不建议在case中使用正则表达式。编译正则表达式以匹配字符串并匹配它们将花费大量时间来执行简单的检查,如本例所示。

考虑到这一点,计算XML标记的安全且可读的方法可以是:

def is_key_XML(key):
    try :
        return (key[0] == '<') and (key[-1] == '>')
    except IndexError:
        return False

def tag_count(input_list):
    return sum(is_key_XML(k) for k in input_list)
list1 = ['<greeting>', 'Hello World!', '</greeting>', '< Graou', 'L', '<>', '']
count = tag_count(list1)
print("Expected result: 3, Actual result: {}".format(count))
def是密钥XML(密钥):
尝试:
返回(键[0]='')
除索引器外:
返回错误
def标签计数(输入列表):
返回和(是输入列表中k的键XML(k))
测试可以是:

def is_key_XML(key):
    try :
        return (key[0] == '<') and (key[-1] == '>')
    except IndexError:
        return False

def tag_count(input_list):
    return sum(is_key_XML(k) for k in input_list)
list1 = ['<greeting>', 'Hello World!', '</greeting>', '< Graou', 'L', '<>', '']
count = tag_count(list1)
print("Expected result: 3, Actual result: {}".format(count))
list1=[''Hello World!',''Graou','L','
计数=标记计数(列表1)
打印(“预期结果:3,实际结果:{}”。格式(计数))
考虑到的因素,一种安全且可读的计算XML标记的方法可以是:

def is_key_XML(key):
    try :
        return (key[0] == '<') and (key[-1] == '>')
    except IndexError:
        return False

def tag_count(input_list):
    return sum(is_key_XML(k) for k in input_list)
list1 = ['<greeting>', 'Hello World!', '</greeting>', '< Graou', 'L', '<>', '']
count = tag_count(list1)
print("Expected result: 3, Actual result: {}".format(count))
def是密钥XML(密钥):
尝试:
返回(键[0]='')
除索引器外:
返回错误
def标签计数(输入列表):
返回和(是输入列表中k的键XML(k))
测试可以是:

def is_key_XML(key):
    try :
        return (key[0] == '<') and (key[-1] == '>')
    except IndexError:
        return False

def tag_count(input_list):
    return sum(is_key_XML(k) for k in input_list)
list1 = ['<greeting>', 'Hello World!', '</greeting>', '< Graou', 'L', '<>', '']
count = tag_count(list1)
print("Expected result: 3, Actual result: {}".format(count))
list1=[''Hello World!',''Graou','L','
计数=标记计数(列表1)
打印(“预期结果:3,实际结果:{}”。格式(计数))
list1=[''‘你好,世界!’,'',''']
进口稀土
len([s表示列表1中的s,如果重新匹配(r'',s)])
输出: 2

list1=[“你好,世界!”,“,”
进口稀土
len([s表示列表1中的s,如果重新匹配(r'',s)])
输出:
2

如果字符串s为空,则此操作将失败。@Cuber True,它会失败。但OP从未说过他有空字符串的情况。我仅根据OP提供的样本数据编写答案。不过,我将编辑.startswith&endswith以允许处理“字符串为空”案例。@Jean-Françoisfare噢,对不起。我不知道你们在跟别人说话:)(?)谢谢你们两位-我是编程语言新手,所以我感谢你们的帮助。如果字符串s为空,这将失败。@Cuber True,会的。但OP从未说过会有一个他有空字符串的情况。我只是根据OP提供的样本数据来写我的答案。尽管如此,我仍将编辑.startswith&endswith,以允许处理“字符串为空”的情况。@Jean-Françoisfare噢,对不起。我不知道你在跟别人讲话:)非常感谢你们两位-我是编程语言的新手,所以我感谢你们的帮助@Jean-François Fabre,是的,谢谢,更新了。。早些时候,我也想考虑一个案例,当有字符串之前,''让弗兰SouthoIS Fabre,是的,谢谢,更新。早些时候,我还想考虑一个“有弦”的情况,你能详细说明一下吗?如果key='是的,你的右边。很抱歉。不知怎的,我把
误认为
==
。你能详细解释一下吗?如果key='是的,你的右边。很抱歉。不知怎的,我把
错当成了
=