如何计算列表中列表中的元素数?

2024-06-17 09:13:44 发布

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

这可能很简单,但我的程序只是一个电影票预订:

我的清单是(例如):

bookings=[["Sam", 1, "titanic", "morning", "Stit1"],
          ["Bill", 2, "titanic", "evening", "Btit2"],
          ["Kik", 2, "lionking", "afternoon", "Klio2"]] 

我想打印有多少人(例如)要看《泰坦尼克号》。我该怎么做

提前谢谢


Tags: 程序sambillmorningtitanickikbookingsevening
3条回答

您可以创建一个字典,其中电影名称为键,值为总计数。像这样的


ticket_count = {}
for booking in bookings:
    ticket_count[booking[2]] = ticket_count.get(booking[2], 0) + 1

我假设电影名称总是列表中的第三个元素

你只想要数字还是名字?不管怎么说,像这样,你可以得到所有要看《泰坦尼克号》的人的名单,你可以很容易地得到它的长度

bookings=[["Sam", 1, "titanic", "morning", "Stit1"], ["Bill", 2, "titanic", "evening", "Btit2"], ["Kik", 2, "lionking", "afternoon", "Klio2"]]
count = [item for item in bookings if 'titanic' in item]
print(len(count))

试一试

sum(b[2] == 'titanic' for b in bookings)

这将在bookings上创建一个生成器,然后将这些生成器与“泰坦尼克号”相加

注意TrueFalse的隐式处理分别为1和0

相关问题 更多 >