python - 不带条件的字符串的 boolean 计算

标签 python string python-2.7 boolean substring

我正在尝试找出解决这一特定挑战的方法,但到目前为止我很困惑。

基本上,我想做的是:

  1. 检查字符串s中是否存在子字符串false
  2. 如果s中存在false,则返回 boolean 值True

但是,我根本不允许使用任何条件语句

也许有一种方法可以用对象来做到这一点?

最佳答案

如果某处需要将其作为函数,则总是有 str.__contains__:

In [69]: str.__contains__('**foo**', 'foo')
Out[69]: True

这可以用于filtermap之类的东西:

sorted(some_list, key=partial(str.__contains__,'**foo**'))

更常见的用例是使用推导式为列表中的每个元素分配真值。然后我们可以使用Python中的in关键字:

In[70]: ['foo' in x for x in ['**foo**','abc']]
Out[70]: [True, False]

后者应始终是首选。在某些边缘情况下,可能只有一个函数是可能的。

但即便如此,您也可以传递 lambda 并使用以下语句:

sorted(some_list, key=lambda x: 'foo' in x)

关于python - 不带条件的字符串的 boolean 计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42443863/

相关文章:

python - 如何像 pip 一样卡住 brew 需求?

python - 如何在 pygame 中为角色扮演游戏制作文本框/状态框?

java - 在Android中从字母数字字符串中提取数字

python - 将元素列表映射到 pandas 中的元素类别?

python - QListView 中自定义 IndexWidget 的平滑延迟加载和卸载

python - 如果字符串段落中的项目属于字符串列表,则删除它们?

java - Java 中的字符串替换冒险

python - 处理多个列表

python - 属性学说

python - 最后的输出在无限循环上运行 - Python