gpt4 book ai didi

python - 在字符串列表中查找最长的公共(public)前缀字符串

转载 作者:行者123 更新时间:2023-12-04 08:39:36 25 4
gpt4 key购买 nike

我正在使用 python,我必须编写一个函数来查找字符串列表中最长的公共(public)前缀字符串。
例如,输入参数是 ["flower", "flow", "flight"] ,
输出为 "fl" .如果输入字符串之间没有公共(public)前缀,
输出是一个空字符串。

最佳答案

你可以把你的字符串压缩在一起zip(*list_o_strings)这会给你像 ('f', 'f', 'f') 这样的元组.如果将它们传递给一个集合,当所有字母相同时,该集合将只有一个值。只需循环该 zipper ,直到您击中长度大于一的集合。

def common_prefix(l):
s = ''
for c, *rest in map(set, zip(*l)):
if rest: # rest will be empty of the set is shorter than 1
return s
s += c

common_prefix(["flower", "flow", "flight"])
# 'fl'

common_prefix(["flower", "flow", "flog"])
# 'flo'

common_prefix(["glower", "flow", "flight"])
# ''

关于python - 在字符串列表中查找最长的公共(public)前缀字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64628158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com