这可能很简单,但我的程序只是一个电影票预订:
我的列表是(例如):
bookings=[["Sam", 1, "titanic", "morning", "Stit1"],
["Bill", 2, "titanic", "evening", "Btit2"],
["Kik", 2, "lionking", "afternoon", "Klio2"]] 我想打印(举个例子)有多少人要去看泰坦尼克号。我该怎么做?
提前感谢
发布于 2020-10-02 15:28:58
试一试
sum(b[2] == 'titanic' for b in bookings)这将在bookings上创建一个生成器,然后将这些生成器与“泰坦尼克号”相加。
请注意,True和False的隐式处理分别为1和0。
发布于 2020-10-02 15:28:37
你只想要数字还是名字?不管怎样,就像这样,你可以得到所有去看“泰坦尼克号”的人的名单,你可以很容易地得到它的长度。
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))发布于 2020-10-02 15:33:12
您可以创建一个字典,将电影名称作为关键字,值作为总计数。像这样的东西
ticket_count = {}
for booking in bookings:
ticket_count[booking[2]] = ticket_count.get(booking[2], 0) + 1我假设电影名称总是列表中的第三个元素。
https://stackoverflow.com/questions/64167594
复制相似问题