我在下面有这段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
之后解释我吗?
答案 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 = " ")