使用for循环打印名称

时间:2020-11-11 02:46:19

标签: python tuples

enter image description here

president = [('D. Trump',2017), ('Barack Obama',2009), ('B. Clinton',1993), 
             ('George W. Bush',2001)]

max_w = president[0][1]
min_w = president[0][1]

for word in president:

    if word[1] > max_w:
        max_w = word
    elif word[1] < min_w:
        min_w = word   

print(max_w, min_w)

为什么max_w和min_w是一个元组?应该是int吗?

1 个答案:

答案 0 :(得分:0)

我认为您希望在这些条件中使用max_w = word[1]min_w = word[1]

或者,您可以这样写:

for name, year in president:
    if year > max_w:
        max_w = year
    if year < min_w:
        min_w = year

或者保存初始化并执行此操作(甚至是更好的IMO):

max_w = max(year for name, year in president)
min_w = min(year for name, year in president)