查找列表中每个字符串的字符出现次数(python)
我正在寻找一个for循环,该循环查找特定字符的出现次数除以字符串长度。之后显示最大的变量查找列表中每个字符串的字符出现次数(python),python,loops,for-loop,character,Python,Loops,For Loop,Character,我正在寻找一个for循环,该循环查找特定字符的出现次数除以字符串长度。之后显示最大的变量 Largestnumber=0 >>>List=["shadow", "light", "blazar"] >>>Insert= input("input a character(s): ") for loop Print (Largestnumber) 它会像这样出现: input a character(s): a#I have inputed an a 0.333
Largestnumber=0
>>>List=["shadow", "light", "blazar"]
>>>Insert= input("input a character(s): ")
for loop
Print (Largestnumber)
它会像这样出现:
input a character(s): a#I have inputed an a
0.33333
同样,我在寻找一种方法,用字符串中某个项目中的字符出现的时间除以确切项目的长度。
以我为例
“阴影”中有一个a,长度为6,因此它将是1/6=0.1666666
“wing”内没有任何a,长度为4,因此为0/4
“blazar”有2个a,整个刺的长度为6,因此2/6=0.3333
由于0.33333是打印的最大数字,您需要五件东西:
'.count('')
统计
出现在
中的频率。因此,'blazar'。计数('a')
将为2len()
将为您提供
的长度。所以len('blazar')
将是6您可以使用简单的列表理解:
Largestnumber=max([float(x.count(Insert))/len(x) for x in List])
编辑
正如@所指出的,列表理解可以省略
Largestnumber=max(float(x.count(Insert))/len(x) for x in List)
'somestring'.count('s')
和len('somestring')
可能会派上用场……请注意,List
对于变量来说是一个非常糟糕的名称,尽管它与内置的List
类型没有冲突,因为大写字母。如果您使用的是最新版本的Python,不需要理解列表,这将创建一个生成器表达式:Largestnumber=max(float(x.count(Insert))/len(x)表示列表中的x)