如何更改最长和最短的函数以避免在 Python 中重复代码?

问题描述 投票:0回答:1

我正在用Python编写一个程序来查找数组中最短和最长的字符串,例如这是find_shortest

def find_shortest(words):


N = len(words)
shortest = words[0]
i = 1
while i < N:
    if len(shortest) >= len(words[i]): #Change only this line for find_longest
        shortest = words[i]
    i += 1

return shortest

我的问题是 find_longest 函数与 find_shortest 函数相同,只是 find_longest 使用 <= sign instead of >=。我不想复制粘贴 find_shortest 函数来制作 find_longest 但我别无选择。在这种情况下如何避免复制粘贴和冗余?

function copy-paste redundancy
1个回答
0
投票

您可以基于函数参数,例如order参数,定义您想要执行的操作。放置一个 if 来标识操作是否:最短执行最短操作,如果不是,执行最长操作。它会添加一些逻辑,但可以帮助避免函数重复并且可以使用相同的作用域。

© www.soinside.com 2019 - 2024. All rights reserved.