我一直迷失于为什么总是出错。我正在尝试使用sorted()
打印按字母顺序列出的书籍的标题。
我一直收到此错误:
sorted(BSI, key=list(Book)) TypeError: 'type' object is not iterable
然后这是代码
from collections import namedtuple
Book = namedtuple('Book', 'author title genre year price instock')
BSI = [Book("J.K. Rowling", "Harry Potter", "Fantasy", "2005", 12.00, "34"),
Book("Dr. Seuss", "Green Eggs and Ham", "Children's", "2000", 8.00, "12"),
Book("Margaret Mitchell", "Gone with the Wind", "Fiction", "1980", 9.00, "30"),
Book("John Green", "The Fault in our Stars", "Fiction", "2010", 13.00, "23"),
Book("Stephanie Meyer", "Twilight", "Fantasy", "2008", 15.00, "8"),
Book("Suzanne Collins", "The Hunger Games", "Fantasy", "2005", 17.00, "18")]
for x in BSI:
print(x.title)
y = BSI
for x in BSI:
sorted(BSI, key=list(Book))
我一直迷失于为什么总是出错。我正在尝试使用sorted()按字母顺序列出书籍的标题。我不断收到此错误:sorted(BSI,key = list(Book))...
问题出在list(Book)
上。书是一种。以下可能是您想要的。