在C语言(和C语言系列)中,表达式(4+7, 5+2)返回7。但是在Python语言中相同的表达式会产生一个元组(11, 7)
那么python有没有像C一样的逗号操作符呢?
发布于 2011-08-03 15:07:01
您应该使用类似下面的内容来替换它:
comma_operated = (4+7, 5+2)[-1]但正如评论中正确指出的那样,你为什么想要它呢?它在C或C++中很少使用,这是有充分理由的。
发布于 2011-08-03 14:53:22
AFAIK,不尽管你可以使用两行而不是一行来模拟这一过程。:-)
x = (call_one(), call_two())
# is almost the same as
call_one()
x = call_two()
# or
x = (call_one(), call_two())[1]发布于 2019-03-01 03:07:08
此问题的更新。
目前接受的答案是不完整的,因为它不允许以这种方式使用赋值表达式(例如,(a = 1, a+2)[-1]会生成错误)。
Python3.8现在提出了Assignment Expressions,理论上应该可以实现这一点。
( a := 1, a + 2)[-1]https://stackoverflow.com/questions/6922677
复制相似问题