![](/img/trans.png)
[英]how to find the most frequent character in each postion of multiple strings
[英]how can i find the most frequent character for each position in a file full of strings and return the highest frequent characters for each position
我似乎无法理解您必须为字符串的每个 position 执行此操作并返回最频繁出现的字符的部分,例如,如果我喜欢文件中的多个字符串:'house'、'garden'、'kitchen' ,'balloon','home','park','affair','kite','hello','portrait','angel','surfing' 返回值应该是:'hareennt' 我不能使用导入库
我努力了
max(set(item),key=item.count)
但它适用于每个元素而不是每个字符
一线解决方案:
import itertools
from statistics import mode
words = ['house', 'garden', 'kitchen', 'balloon', 'home', 'park', 'affair', 'kite', 'hello', 'portrait', 'angel', 'surfing']
list(map(lambda x: mode(sorted(filter(lambda v: v != None, x))), (itertools.zip_longest(*words))))
以更易读的形式:
import itertools
from statistics import mode
# Tranpose the list to group characters based on their position in words
char_list = itertools.zip_longest(*words)
# Remove None values and sort alphabetically
char_list_filter = map(lambda x: filter(lambda v: v != None, x), char_list)
char_list_sorted = map(sorted, char_list_filter)
# Use the mode function from statistics module
char_list_mode = map(mode, char_list_sorted)
# Print results
print( ''.join(char_list_mode))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.