Python:if语句中冒号的目的是什么?

时间:2016-06-15 11:04:58

标签: python if-statement

我在下面有这段python代码。

def m(list):
    v = list[0]
    for e in list:
      if v < e: v = e
    return v

values = [[3, 4, 5, 1], [33, 6, 1, 2]]

for row in values: 
    print(m(row), end = " ")

结果是5,33。

有人可以在if语句if v < e: v = e之后解释我吗?

4 个答案:

答案 0 :(得分:5)

if v < e: v = e

可以读取:&#34;如果v小于e,则使v为e的值。&#34;

如上所述,您应该添加一个新行,以使其更容易阅读:

if v < e:
    v = e

答案 1 :(得分:2)

它用英语称为冒号,而不是双冒号或双逗号。

我恳请您阅读基本的Python介绍。

if v < e: v = e

与:

相同
if v < e:
    v = e

答案 2 :(得分:2)

In [8]: v = 1
In [9]: e = 2
In [10]: if v < e: v = e
In [11]: v
Out[11]: 2
In [12]: e
Out[12]: 2

与:

相同
In [13]: v = 1
In [14]: e = 2
In [15]: if v < e:  # if True execute next statement 
   ....:     v = e
   ....:     
In [16]: v
Out[16]: 2
In [17]: e
Out[17]: 2

答案 3 :(得分:0)

编写代码的另一种方法就是这样,仅用于学习目的:

    def max_nest_list(lst):
        max_numbers = []
        for sub_list in lst:
            max_num = sub_list[0]
            for num in sub_list[1:]:
                if num > max_num:
                     max_num = num
            max_numbers.append(max_num)
        return max_numbers

    values = [[3, 4, 5, 1], [33, 6, 1, 2]]
    for item in max_nest_list(values):
        print(item, end = " ")

    #Output
    5 33

或者更简洁:

    def max_nest_list2(lst):
        return [max(i) for i in lst]

    values = [[3, 4, 5, 1], [33, 6, 1, 2]]
    for item in max_nest_list(values):
        print(item, end = " ")