2015-10-04 20 views
-2
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] 

列表有了这个给定的信息中创建一个从namedtuple布尔表达式,我该如何创建一个布尔表达式的​​的价格比的booklist[1]高?我试着比较booklist[0[3]]booklist[1[3]],但我不认为这是比较列表中的namedtuple的正确格式。我应该怎么做?如何在Python的

+1

看来你不知道如何访问数据。为什么你关于布尔表达式和比较的问题?一步一步来。 –

+0

我被要求使用booklist [0]和booklist [1]来比较best和better的价格,但价格在namedtuple内,而书名是名为booklist的列表中的元素。我不知道如何说这个格式的22.60大于20.00。 换句话说,我不关心布尔表达式本身。我更关心如何使用上面的列表和namedtuples以编程格式设置价格。 – Deer530

+0

所以你想访问那本书的“.... [3]”。 –

回答

0

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

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

+0

“如果你有这本书(例如booklist [0]),只需在它后面写[3](没有空格),但更喜欢使用名称,而不是索引,它是一个namedtuple。是的,这正是我一直在寻找的。谢谢,并为此感到抱歉。 – Deer530