我有以下代码.
sum_review = reduce(add,[book['rw'] for book in books])
sum_rating = reduce(add,[book['rg'] for book in books])
items = len(books)
avg_review = sum_review/items
avg_rating = sum_rating/items
Run Code Online (Sandbox Code Playgroud)
我想要的是这个.
sum_review,sum_rating = reduce(add,([book['rw'],[book['rg']) for book in books])
items = len(books)
avg_review = sum_review/items
avg_rating = sum_rating/items
Run Code Online (Sandbox Code Playgroud)
显然这不起作用.如何在没有常规循环的情况下解决这种冗余问题?
我在这里避免使用reduce.对于这么简单的用法sum:
sum_review = sum(book['rw'] for book in books)
sum_rating = sum(book['rg'] for book in books)
Run Code Online (Sandbox Code Playgroud)
在我看来,这个更简单的版本不需要重构来删除冗余.只有两个项目(rw和rg)我认为最好留下它原样.
| 归档时间: |
|
| 查看次数: |
2082 次 |
| 最近记录: |