因为我们在 python 中有如下语法:
for i in range(10):
print 'Hello!' if i % 3 == 0 else 'Waiting' if i % 3 == 1 else 'Bye!'
这将使输出如下:
Hello!
Waiting
Bye!
Hello!
Waiting
Bye!
Hello!
Waiting
Bye!
Hello!
我们也有这个:
a = tuple('a member' for i in range(10) if i % 3 == 0)
这使得一个元组像('a member', 'a member', 'a member', 'a member')
现在我想知道有没有类似的东西:
a = tuple('a member' for i in range(10) if i % 3 == 0 else 'another member')
?
因为当我添加else 'another member'
它时,它会因 SyntaxError 异常而失败
这是python控制台输出:
>>> a = tuple('a member' for i in range(10) if i % 3 == 0 else 'another member')
File "<stdin>", line 1
a = tuple('a member' for i in range(10) if i % 3 == 0 else 'another member')
^
SyntaxError: invalid syntax
(我只想写一行这样的东西:
a = tuple('Hello!' for i in range(10) if i % 3 == 0 else 'Waiting' if i % 3 == 1 else 'Bye!')
给我一个元组,它的成员是第一个例子中的行
此外,无论代码是在 python 2 还是 3 中,因为我可以同时使用两者来完成我的工作;))