相关疑难解决方法(0)

Python有三元条件运算符吗?

如果Python没有三元条件运算符,是否可以使用其他语言结构模拟一个?

python operators ternary-operator conditional-operator

5591
推荐指数
25
解决办法
180万
查看次数

Python中的表达式和语句有什么区别?

在Python中,表达式和语句之间有什么区别?

python expression

291
推荐指数
10
解决办法
16万
查看次数

在list-python中找到-1s,1s和0s的多数票

如何找到包含-1s,1s和0s的列表的多数票?

例如,给出一个列表:

x = [-1, -1, -1, -1, 0]
Run Code Online (Sandbox Code Playgroud)

大多数是-1,因此输出应该返回 -1

另一个例子,给出一个列表:

x = [1, 1, 1, 0, 0, -1]
Run Code Online (Sandbox Code Playgroud)

多数票将是 1

当我们有平局时,多数投票应该返回0,例如:

x = [1, 1, 1, -1, -1, -1]
Run Code Online (Sandbox Code Playgroud)

这也应该返回零:

x = [1, 1, 0, 0, -1, -1]
Run Code Online (Sandbox Code Playgroud)

获得多数投票的最简单案例似乎是将列表加起来并检查它是否为负数,正数或0.

>>> x = [-1, -1, -1, -1, 0]
>>> sum(x) # So majority -> 0
-4
>>> x = [-1, 1, 1, 1, 0]
>>> sum(x) # So majority -> 1
2
>>> x = [-1, -1, 1, 1, …
Run Code Online (Sandbox Code Playgroud)

python binary if-statement voting list

9
推荐指数
2
解决办法
2941
查看次数

Pandas - Python:Apply() 和 if/then 逻辑

我有以下数据框:

example  = pd.DataFrame({"dirr":[1,0,-1,-1,1,-1,0], 
                         "value": [125,130,80,8,150,251,18], 
                         "result":[np.NaN for _ in range(7)]})
Run Code Online (Sandbox Code Playgroud)

我想用 cummin() 和 cummax() 执行以下操作:

example["result"].apply(lambda x : x= example["value"].cummax() if example["dirr"]==1
                           else x= example["value"].cummin() if example["dirr"]==-1
                           else x= NaN if if example["dirr"]==0
                              )
Run Code Online (Sandbox Code Playgroud)

这是返回:error: invalid syntax

谁能帮我纠正一下吗?

这将是预期的输出:

example  = pd.DataFrame({"dirr":[1,0,-1,-1,1,-1,0], 
                         "value": [125,130,80,8,150,251,18], 
                         "result":[125, NaN, 80, 8, 150, 8, NaN]})
Run Code Online (Sandbox Code Playgroud)

编辑:

因此,根据 @su79eu7k 的答案,以下函数将执行以下操作:

def calc(x):
    if x['dirr'] == 1:
        return np.diag(example["value"].cummax())
    elif x['dirr'] == -1:
        return np.diag(example["value"].cummin())
    else:
        return np.nan
Run Code Online (Sandbox Code Playgroud)

我应该能够将其推入 lambda,但仍然被语法错误阻止......我仍然没有看到?

example["result"]=example.apply(lambda x : …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

具有嵌套if的Lambda无法正常工作

我是Python的新手,目前正在学习lambda表达.我正在解决一个辅导课程

定义一个函数max_of_three(),它将三个数字作为参数并返回其中最大的一个.

我已经阅读了这篇旧文章并尝试过没有成功:

>>> max_of_three = lambda x, y, z : x if x > y else (y if y>z  else z)
>>> max_of_three(91,2,322)
91
Run Code Online (Sandbox Code Playgroud)

为什么不回Z?这是X.

python lambda

3
推荐指数
2
解决办法
3239
查看次数

返回条件语句

我的问题是:是否可以在回报中使用完整的条件语句(if,elif,else)?

我知道我可以这样做:

def foo():
    return 10 if condition else 9
Run Code Online (Sandbox Code Playgroud)

我可以做这样的事情:

def foo():
    return 10 if condition 8 elif condition else 9
Run Code Online (Sandbox Code Playgroud)

事后的想法:看一下这个表格看起来似乎不太可读,我的猜测是它可能没有任何有效的用例.无论如何,好奇心促使我问.提前感谢您的任何答案.

python python-3.x

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

Python 是否有带有 elif 的三元条件?

我最近发现了这个问题:Does Python have a ternary conditional operator? 并发现称为三元条件的东西a = b if c == d else e
我的问题:有一种方法可以使三元条件与elif? 类似的东西a = b if c == d elif e == f i else j

python conditional-operator

0
推荐指数
1
解决办法
3478
查看次数

有没有办法简化 if/elif 块?

我是 Python 的新手(而且很差),我只是想知道是否有人可以帮助我简化 if/elif 块。这是一个超级基本的代码,它基本上会询问某人在密码中想要什么,然后为他们随机化一个 pswd。但是如果用户想要大写和数字,还有一些选择。

if upper == True and numbers == True:
    lettersAndDigits = string.ascii_letters + string.digits
elif upper == True and numbers == False:
    lettersAndDigits = string.ascii_letters
elif upper == False and numbers == True:
    lettersAndDigits = string.ascii_lowercase + string.digits
elif upper == False and numbers == False:
    lettersAndDigits = string.ascii_lowercase
Run Code Online (Sandbox Code Playgroud)

对不起,菜鸟问题伙计们

谢谢一群人,这真的很有帮助:)

只是在复习我的 igcse,我正在尝试重新学习正确的程序。我的老师在python方面没那么强

python python-3.x

-1
推荐指数
1
解决办法
96
查看次数