list = [['Radhe',99],['Bajrangi',98],['Ram',95],['Shyam',94],['Bharat',89]]
min_score = list[0][1]
for x in list:
for y in x:
if (y < min_score):
min_score=y
print(min_score)
在第一个for循环中,您正在执行for x in list,因此您将x分配给列表的第一个元素['Radhe', 99]。在第二个for循环中,您将遍历x中的每一项,第一项是'Radhe',因此您将int与字符串进行比较
考虑到这一点,您可以将代码重写为:
l = [['Radhe',99],['Bajrangi',98],['Ram',95],['Shyam',94],['Bharat',89]]
min_score = l[0][1]
for x in l:
if (x[1] < min_score):
min_score=x[1]
print(min_score)
试试这个
您正在迭代
x
的每个元素,而实际上您只关心x[1]
:您还可以解压每个子列表,以使值更易于使用:
list
是python中的内置数据类型,因此应该将变量重命名为其他类型,例如l
在第一个for循环中,您正在执行
for x in list
,因此您将x分配给列表的第一个元素['Radhe', 99]
。在第二个for循环中,您将遍历x中的每一项,第一项是'Radhe'
,因此您将int与字符串进行比较考虑到这一点,您可以将代码重写为:
哪些产出:
或者,您可以使用列表理解在一行中完成所有操作:
相关问题 更多 >
编程相关推荐