str.替换问题

2023-11-29

我试图让以下代码正常工作,它应该从用户输入的文本字符串中删除元音。

def isVowel(text):
    if text in ("a", "e", "i", "o", "u", "A", "E", "I", "O", "U"):
        return True

def withoutVowels(text):
    for char in text:
        if(isVowel == True):
            text = text.replace(char, "")
    return text

isVowel 函数工作正常,但是当我使用它时它似乎无法正确评估,这是为什么?


if (isVowel == True):

应该

if isVowel(char):

isVowel是一个函数对象。isVowel == True永远是假的。


请注意,您也可以更快、更简单地执行此操作字符串翻译.

In [90]: 'Abracadabra'.translate(None, 'aeiouAEIOU')
Out[90]: 'brcdbr'

或者,(正如 EOL 指出的那样)使用正则表达式:

In [93]: import re
In [95]: re.sub(r'(?i)[aeiou]', '', 'Abracadabra')
Out[95]: 'brcdbr'

然而,str.translate在这种情况下更快:

In [94]: %timeit 'Abracadabra'.translate(None, 'aeiouAEIOU')
1000000 loops, best of 3: 316 ns per loop
In [96]: %timeit re.sub(r'(?i)[aeiou]', '', 'Abracadabra')
100000 loops, best of 3: 2.26 us per loop
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

str.替换问题 的相关文章

随机推荐

  • Databricks - 创建永久用户定义函数 (UDF)

    我能够创建一个 UDF 函数并使用 Spark UDF 方法注册到 Spark 但是 这仅限于每个会话 如何在Cluster启动时自动注册python UDF函数 这些功能应该可供所有用户使用 示例用例是将时间从 UTC 转换为本地时区 这
  • 字符串未被识别为有效的日期时间“格式 dd/MM/yyyy”

    我正在尝试将字符串格式化值转换为具有格式的日期类型dd MM yyyy this Text 22 11 2009 DateTime date DateTime Parse this Text 问题是什么 它有第二个覆盖 要求IFormatP
  • C 语言中的简单字符解释

    这是我的代码 include
  • 如何在 cytoscapejs 中操作后保存图形的整个状态

    我在 Angular 中使用 cytoscapejs 我希望用户在完成一些操作 例如平移 缩放 移动节点和边缘 后保存图形的状态 我尝试将整个对象保存在临时变量中 并尝试通过单击按钮使用保存的对象重新加载图形来渲染图形 const cy c
  • 从通话中转接 Twilio 呼叫

    我没有从 Twilio 文档中找到关于此问题的明确答案 我正在尝试构建一个电话系统 该系统可以在通话时且仅通过电话将对方置于保持状态 示例 有两名特工在现场与我一起工作 我通过手机 远离计算机 接到电话 发现另一位客服人员需要与我通话的人通
  • android旋转屏幕导致文本颜色更改为默认值

    在我创建井字棋游戏的 Android 应用程序中 我在下面有这段代码 如果是玩家一步 则将其选择设置为X具有特定的颜色 否则它必须是玩家 2 因此将文本设置为O供他们选择不同的颜色 Override public void onClick
  • 如何在 C# 中对两个列表进行笛卡尔连接?

    如何对两个包含整数的列表进行笛卡尔连接 这可以用 linq 来完成吗 假设您的意思是 交叉连接 或 笛卡尔连接 var query from x in firstList from y in secondList select new x
  • 在 XAMPP for Linux 中使用 mailtodisk / mailoutput

    与 Windows 不同 我在 Linux 中使用 mailtodisk PHP 选项时遇到问题 看起来它根本不存在 在 php ini 的邮件部分中 没有引用它 mail function For Win32 only http php
  • 是否可以通过 Java API for GLES 在 Android 上使用像素图?

    我正在尝试在 Android 上使用 OpenGL ES 实现离屏渲染 我的最终目标是提高我在普通 java 和 Bitmap int API 中所做的纹理映射的性能 我尝试了 pbuffer 方法 类似于来自相关论坛主题 它显示出相当低的
  • 在SSIS中执行Sql任务时出错

    I was trying to insert data from variable into database via SSIS I made use of Execute XML Task below is the screenshot
  • 验证对象必须至少有一个operator/meteor mongo

    我编写了一个将用户地址保存到集合中的方法 但是 我不断收到错误 When the modifier option is true validation object must have at least one operator 这是我的架
  • 如何检测用户何时从 Facebook 删除应用程序

    我是 Facebook SDK 的新手 我想知道如何检测用户何时从其 Facebook 帐户删除应用程序 目前 如果我们删除该应用程序 并且想要从我的应用程序中发布某些内容 我会收到一条错误消息 尝试这个 FBSession renewSy
  • Python Pandas applymap na_action 参数未被识别

    当我尝试在 Pandas 的 applymap 函数中使用参数 na action 时 出现此错误 类型错误 applymap 得到了意外的关键字参数 na action Example gt gt gt df pd DataFrame 1
  • Java 1.4 中 Lock.tryLock() 的替代方案

    我想知道是否有现有的替代方案或如何实现以下语义java util concurrent locks Lock tryLock 在 Java 5 之前 如果锁已被另一个线程持有 则可以立即退出 如果您需要一个Lock支持一个tryLock操作
  • 如何在每次打印调用后打印新行

    我想在带有换行符的函数中获得尽可能多的星星 但我无法通过换行来获取它们 public class prac11 public static void main String args printStars 1 printStars 2 pr
  • 无法让我的脚本使用发布请求填充结果

    我使用 python 结合 selenium 创建了一个脚本来解析id vikey and cbhtmlfragid意味着在 post http 请求中使用时用作有效负载 因为我发现很难刮id vikey and cbhtmlfragid使
  • 为什么将项目写入控制台只写入名称空间和类名而不是数据? [复制]

    这个问题在这里已经有答案了 对于大多数人 熟练的程序员 来说 这个标题听起来可能不太好 但我已经进入学习 C 基础知识的第三周了 我不知道如何解决下一个任务 我将存储一些城市的温度 首先询问用户城市名称 然后询问该城市的实际温度 所有这些东
  • Linux 终端中的游戏:更改图像:打印已打印的文本

    好吧 我只是在 Linux 终端上实现非常简单的纸牌游戏 我想要实现的是改变图像的效果 基本上是在已经打印的文本上打印技巧 我想除了用 r 重新打印同一行之外我不能这样做 我想做的是获取终端高度 然后打印换行符直到终端的下边缘 然后将光标定
  • 有没有办法在后端服务器中绘制图表,并在网络应用程序上发送交互式结果?

    因此 我实际上是在后端进行所有计算 在 png 中生成图表 将其保存到路径文件中 并通过 AJAX 与此新生成的图像的链接进行通信 然而 这样的过程只允许我传输图像 我基本上是将情节转换为图像 我想知道是否有一种方法可以通过 AJAX 将整
  • str.替换问题

    我试图让以下代码正常工作 它应该从用户输入的文本字符串中删除元音 def isVowel text if text in a e i o u A E I O U return True def withoutVowels text for