如何从 Python 列表中的命名元组创建布尔表达式

How to create Boolean expression from a namedtuple within a list on Python

from collections import namedtuple

Book = namedtuple('Book', 'title author year price')

best = Book('John Dixie',
                'James Pi', 1922, 22.60)

better = Book('Clifford', 
               'Jane Doe', 2005, 20.00)

worst = Book('Nightingale',
                     'Daniel Smith', 1905, 27.90)

booklist = [best, better, worst]

根据这些给定的信息,我如何创建一个布尔表达式,表示 booklist[0] 的价格高于 booklist[1] 的价格?我尝试将 booklist[0[3]]booklist[1[3]] 进行比较,但我认为这不是比较列表中命名元组的正确格式。我应该怎么做?

如果你有这本书(例如 booklist[0]),只需在它后面写上 [3](没有空格)。但更喜欢使用名称,而不是索引。这是一个 命名的 元组。

无论您是将这本书放在变量中还是以其他方式访问(在本例中是从列表中获取元素)都无关紧要。