给出一个清单
a=['g','d','r','x','s','g','d','r']
我想算一下gdr的出现,所以我会应用一些函数
a.function('g','d','r')
并将2
返回给我(因为gdr发生了2次)。
答案 0 :(得分:1)
你可以这样做:
def get_occur(list, seq):
return ''.join(list).count(''.join(seq))
>>> get_occur(['a', 's', 'a', 's'], ['a', 's'])
2
如果你传入字符串,你可以这样做:
return your_string.count(pattern)
答案 1 :(得分:1)
如果它们只是列表中的 字符串,您可以将它们连接成一个长字符串并使用其count
方法:
>>> a=['g','d','r','x','s','g','d','r']
>>> ''.join(a).count('gdr')
2
例如,如果您混合使用字符串和数字,则可以在加入之前使用map(str,a)
,但该方法仍然有效:
>>> a=[1,13,4,2,1,13,4]
>>> ''.join(map(str,a)).count('1134')
2
如果您需要将所有这些打包在一个函数中,您可以使用以下内容:
def count_pattern(lst, *pattern):
return ''.join(l).count(''.join(pattern))
并且可以将其称为:count_pattern(a, 'g', 'd', 'r')
或count_pattern(a, 'gdr')
或甚至count_pattern(a, 'gd', 'r')
。
答案 2 :(得分:0)
怎么样:
>>> a=['g','d','r','x','s','g','d','r']
>>> print "".join(a).count("gdr")
2