gpt4 book ai didi

python - python中使用不同运算符比较字符串

转载 作者:行者123 更新时间:2023-11-28 21:33:50 24 4
gpt4 key购买 nike

我想使用比较/成员运算符作为参数来比较函数中的两个字符串。

string1 = "guybrush"
string2 = "guybrush threepwood"

def compare(operator):
print(string1 operator string2)

compare(==) 应该打印 False 并且compare(in) 应该打印 True

它显然不是这样工作的。我可以将变量分配给运算符吗?或者如何解决这个问题?

最佳答案

你不能直接传入运算符,你需要一个像这样的函数:

from operator import eq

string1 = "guybrush"
string2 = "guybrush threepwood"

def compare(op):
print(op(string1, string2))

compare(eq)
>>>False

in 运算符有点棘手,因为 operator 没有 in 运算符,但有 contains

operator.contains(a, b) 与 a 中的 b 相同,但这在您的情况下不起作用,因为字符串的顺序已设置。在这种情况下,您可以定义自己的函数:

def my_in(a, b): return a in b

compare(my_in)
>>>True

关于python - python中使用不同运算符比较字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54240695/

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