单子词典还是单子词典?

2024-04-19 01:09:52 发布

您现在位置:Python中文网/ 问答频道 /正文

那么哪个更好呢?你知道吗

books = {'titles': [], 'descriptions': [], 'pages': []}

或者

book_titles = []
book_descriptions = []
book_pages = []

我只是好奇,有什么区别吗?你知道吗


Tags: pagesbooks区别descriptionsbooktitles
2条回答

如果要使用的列表取决于参数(在本例中为“titles”、“descriptions”、“pages”),则使用字典可能是更好的解决方案:

def show_book_info(list_name):
    print books[list_name]

如果你确切地知道何时何地使用这个列表,请坚持使用第二个列表,即三个独立的列表:

def show_book_infos():
    print 'title: %s' % book_titles
    print 'description: %s' % book_descriptions
    print '#pages: %s' % book_pages

这实际上取决于这个数据结构的用途和使用方法。你知道吗

我注意到的一点是,在您提供的两个示例中,每个描述、标题和页面之间都没有关系。换句话说,没有Book模型/实体。您不能简单地定义哪个标题对应于哪个描述。你知道吗

您可能需要一个字典或Book类的列表。或者,您可以使用namedtuple

>>> from collections import namedtuple
>>> Book = namedtuple('Book', ('title', 'description', 'pages'))
>>> book1 = Book(title='War and Peace', description='Worth reading', pages=1225)
>>> book1.title
'War and Peace'
>>> book1.pages
1225
>>> book2 = Book(title='Crime and Punishment', description='Mental anguishes', pages=718)
>>> book2.title
'Crime and Punishment'
>>> books = [book1, book2]
>>> [book.title for book in books]
['War and Peace', 'Crime and Punishment']

相关问题 更多 >