Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.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_Count_Unique - Fatal编程技术网

如何在python中检查列表中连续字符的长度?

如何在python中检查列表中连续字符的长度?,python,count,unique,Python,Count,Unique,基本上说我有一个python列表 lst = [6, 6, 7, 1, 1, 1, 1, 4, 1] 程序应返回4,因为数字“1”连续显示4次。顺便说一句,数字6也以连续的方式显示,但是程序应该在连续时获得显示最多的数字 更多示例: [6, 4, 4, 4, 1, 1, 7] 应输出3,因为“4”连续3次 我一直在这个问题上纠缠了一段时间,任何建议都会默认为您提供具有相同值的单个组: > [list(g) for k, g in groupby(lst)] [[6, 6], [7],

基本上说我有一个python列表

lst = [6, 6, 7, 1, 1, 1, 1, 4, 1]
程序应返回4,因为数字“1”连续显示4次。顺便说一句,数字6也以连续的方式显示,但是程序应该在连续时获得显示最多的数字

更多示例:

[6, 4, 4, 4, 1, 1, 7]
应输出3,因为“4”连续3次

我一直在这个问题上纠缠了一段时间,任何建议都会默认为您提供具有相同值的单个组:

> [list(g) for k, g in groupby(lst)] 
[[6, 6], [7], [1, 1, 1, 1], [4], [1]]
您可以使用
len
键将其传递到
max()
,以获得最长的一个:

> from itertools import group-by
> lst = [6, 6, 7, 1, 1, 1, 1, 4, 1]
> max((list(g) for k, g in groupby(lst)), key=len)
[1, 1, 1, 1]
这是最长的分组,从中可以得到长度。或者,您可以创建一个长度列表,不使用键调用
max

max(len(list(g)) for k, g in groupby(lst))
默认情况下,将为您提供具有相同值的单个组:

> [list(g) for k, g in groupby(lst)] 
[[6, 6], [7], [1, 1, 1, 1], [4], [1]]
您可以使用
len
键将其传递到
max()
,以获得最长的一个:

> from itertools import group-by
> lst = [6, 6, 7, 1, 1, 1, 1, 4, 1]
> max((list(g) for k, g in groupby(lst)), key=len)
[1, 1, 1, 1]
这是最长的分组,从中可以得到长度。或者,您可以创建一个长度列表,不使用键调用
max

max(len(list(g)) for k, g in groupby(lst))

两个不同的问题可能会有所帮助

首先要将文本转换为列表,您可以检查答案


一旦你有了你的列表,你需要计算连续的值,它被询问和解决。

两个不同的问题可能会有所帮助

首先要将文本转换为列表,您可以检查答案


一旦你有了你的列表,你需要计算连续的值,它被询问并解决。

itertools.groupby
itertools.groupby