numbers = [1,2,3,4,5,6,7,8,9] 
number = 1 

我可以在一行中写下以下内容吗?

if number in numbers: 
    print number 

使用ruby的风格:

puts number if numbers.include?(number) 

我试过:

print number if number in numbers 

但语法无效。

请您参考如下方法:

Python就是Python,Ruby就是Ruby。我的建议是不要尝试将一个写成另一个。

Python 没有 Ruby 的/Perl 的“后缀 if”,而编写它的 Pythonic 方式是您已经拥有的。

但如果你真的必须这样做,这会起作用:

if number in numbers: print number 

违反官方风格指南,PEP8 , 虽然:

  • Compound statements (multiple statements on the same line) are generally discouraged.

    Yes:

    if foo == 'blah': 
        do_blah_thing() 
    do_one() 
    do_two() 
    do_three() 
    

    Rather not:

    if foo == 'blah': do_blah_thing() 
    do_one(); do_two(); do_three() 
    


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!