小编And*_*ong的帖子

从字符串中删除多个单词的更好方法是什么?

bannedWord = ['Good','Bad','Ugly']

def RemoveBannedWords(toPrint,database):
    statement = toPrint
    for x in range(0,len(database)):
        if bannedWord[x] in statement:
            statement = statement.replace(bannedWord[x]+' ','')
    return statement

toPrint = 'Hello Ugly Guy, Good To See You.'

print RemoveBannedWords(toPrint,bannedWord)
Run Code Online (Sandbox Code Playgroud)

输出是Hello Guy, To See You.了解Python我觉得有更好的方法来实现更改字符串中的几个单词.我使用字典搜索了一些类似的解决方案,但它似乎不适合这种情况.

python regex string replace python-3.x

5
推荐指数
3
解决办法
6419
查看次数

我的代码效率低下,是来自 Project Euler 的 3 和 5 的倍数,但有 10 秒的超时条件

问题陈述

\n\n
\n

此问题是来自projecteuler.net 的问题 1 的编程版本

\n\n

如果我们列出 10 以下所有 3 或 5 的倍数的自然数,我们会得到 3、5、6 和 9。这些倍数的总和是 23。

\n\n

求 N 以下所有 3 或 5 的倍数之和。

\n
\n\n

输入格式

\n\n
\n

第一行包含 T 表示测试用例的数量。接下来是 T 行,每行包含一个整数 N。

\n
\n\n

输出格式

\n\n
\n

对于每个测试用例,打印一个整数,表示 N 以下所有 3 或 5 的倍数之和。

\n
\n\n

约束条件

\n\n
1\xe2\x89\xa4T\xe2\x89\xa4105 \n1\xe2\x89\xa4N\xe2\x89\xa4109\n
Run Code Online (Sandbox Code Playgroud)\n\n

输入样本

\n\n
2\n10\n100\n
Run Code Online (Sandbox Code Playgroud)\n\n

样本输出

\n\n
23\n2318\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n\n

我正在做第一个欧拉项目问题,但有时间限制,需要接受额外的挑战。如果该过程花费超过 10 秒,它将自动失败。

\n\n

这是一个示例输入:

\n\n
2   # number of test cases\n10  # first …
Run Code Online (Sandbox Code Playgroud)

python python-3.x

2
推荐指数
1
解决办法
973
查看次数

标签 统计

python ×2

python-3.x ×2

regex ×1

replace ×1

string ×1