相关疑难解决方法(0)

除非分配输出,否则为什么不调用Python字符串方法呢?

我尝试做一个简单的字符串替换,但我不知道为什么它似乎不起作用:

X = "hello world"
X.replace("hello", "goodbye")
Run Code Online (Sandbox Code Playgroud)

我想将单词更改hellogoodbye,因此它应该将字符串更改"hello world""goodbye world".但X仍然存在"hello world".为什么我的代码不起作用?

python string replace

133
推荐指数
1
解决办法
10万
查看次数

将函数应用于列表的每个元素

如何将函数应用于变量输入列表?例如,filter函数返回true值,但不返回函数的实际输出.

from string import upper
mylis=['this is test', 'another test']

filter(upper, mylis)
['this is test', 'another test']
Run Code Online (Sandbox Code Playgroud)

预期的产出是:

['THIS IS TEST', 'ANOTHER TEST']
Run Code Online (Sandbox Code Playgroud)

我知道upper是内置的.这只是一个例子.

python function list

43
推荐指数
3
解决办法
10万
查看次数

如何收集列表、字典等中重复计算的结果(或制作修改每个元素的列表的副本)?

Stack Overflow 上有很多关于这个一般主题的问答,但它们要么质量很差(通常是初学者的调试问题暗示的),要么以其他方式错过了目标(通常是不够通用)。至少有两种极其常见的方法会使幼稚的代码出错,初学者从关于循环的规范中获益更多,而不是从将问题作为拼写错误或关于打印所需内容的规范中获益。所以这是我尝试将所有相关信息放在同一个地方。

假设我有一些简单的代码,可以对一个值进行计算x并将其分配给y

y = x + 1

# Or it could be in a function:
def calc_y(an_x):
    return an_x + 1
Run Code Online (Sandbox Code Playgroud)

现在我想重复计算 的许多可能值x。我知道for如果我已经有要使用的值列表(或其他序列),我可以使用循环:

xs = [1, 3, 5]
for x in xs:
    y = x + 1
Run Code Online (Sandbox Code Playgroud)

while或者,如果有其他逻辑来计算值序列,我可以使用循环x

def next_collatz(value):
    if value % 2 == 0:
        return value // 2
    else:
        return 3 * value + 1

def collatz_from_19():
    x = 19
    while x != 1:
        x …
Run Code Online (Sandbox Code Playgroud)

python iteration list-comprehension

5
推荐指数
1
解决办法
2855
查看次数

通过比较两个列表来删除特定单词

我有两个清单。

x=['billed_qty','billed_amt','sale_value']

y=['george billed_qty', 'sam billed_amt', 'ricky sale_value', 'donald billed_qty']
Run Code Online (Sandbox Code Playgroud)

我需要消除列表y中出现在列表x中的单词,并希望结果列表为:

z=['george','sam','ricky','donald']
Run Code Online (Sandbox Code Playgroud)

我该如何实现?

谢谢

python list

3
推荐指数
1
解决办法
232
查看次数