- Functional Python Programming
- Steven F. Lott
- 178字
- 2021-08-27 19:20:28
Unzipping a zipped sequence
We can insert zip() mapping can be inverted. We'll look at several ways to unzip a collection of tuples.
We can't fully unzip an iterable of tuples, since we might want to make multiple passes over the data. Depending on our needs, we may need to materialize the iterable to extract multiple values.
The first way is something we've seen many times: we can use a generator function to unzip a sequence of tuples. For example, assume that the following pairs are a sequence object with two-tuples:
p0= (x[0] for x in pairs) p1= (x[1] for x in pairs)
This will create two sequences. The p0 sequence has the first element of each two-tuple; the p1 sequence has the second element of each two-tuple.
Under some circumstances, we can use the multiple assignment of a for loop to decompose the tuples. The following is an example that computes the sum of the products:
sum(p0*p1 for for p0, p1 in pairs)
We used the for statement to decompose each two-tuple into p0 and p1.
推薦閱讀
- ASP.NET Core:Cloud-ready,Enterprise Web Application Development
- 我的第一本算法書
- 青少年美育趣味課堂:XMind思維導圖制作
- Production Ready OpenStack:Recipes for Successful Environments
- C語言從入門到精通(第4版)
- Web全棧工程師的自我修養
- YARN Essentials
- C語言程序設計
- Oracle Exadata專家手冊
- Learning Docker Networking
- Scratch趣味編程:陪孩子像搭積木一樣學編程
- Java編程從入門到精通
- Scala編程實戰
- Julia數據科學應用
- Appcelerator Titanium:Patterns and Best Practices