繁体   English   中英

我如何在充满字符串的文件中找到每个 position 的最常见字符并返回每个 position 的最常见字符

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM