- Functional Python Programming
- Steven F. Lott
- 175字
- 2021-08-27 19:20:29
Using enumerate() to include a sequence number
Python offers the enumerate() function to apply index information to values in a sequence or iterable. It performs a specialized kind of wrap that can be used as part of an unwrap(process(wrap(data))) design pattern.
It looks like the following code snippet:
>>> xi [1.47, 1.5, 1.52, 1.55, 1.57, 1.6, 1.63, 1.65, 1.68, 1.7, 1.73,
1.75, 1.78, 1.8, 1.83] >>> list(enumerate(xi)) [(0, 1.47), (1, 1.5), (2, 1.52), (3, 1.55), (4, 1.57),
(5, 1.6), (6, 1.63), (7, 1.65), (8, 1.68), (9, 1.7),
(10, 1.73), (11, 1.75), (12, 1.78), (13, 1.8), (14, 1.83)]
The enumerate() function transformed each input item into a pair with a sequence number and the original item. It's vaguely similar to the following:
zip(range(len(source)), source)
An important feature of enumerate() is that the result is an iterable and it works with any iterable input.
When looking at statistical processing, for example, the enumerate() function comes in handy to transform a single sequence of values into a more proper time series by prefixing each sample with a number.
推薦閱讀
- 數據庫系統(tǒng)原理及MySQL應用教程(第2版)
- Learn TypeScript 3 by Building Web Applications
- Apache Spark 2.x Machine Learning Cookbook
- 基于Java技術的Web應用開發(fā)
- Java開發(fā)入行真功夫
- Essential Angular
- 全棧自動化測試實戰(zhàn):基于TestNG、HttpClient、Selenium和Appium
- Python深度學習:模型、方法與實現
- Building Machine Learning Systems with Python(Second Edition)
- 代替VBA!用Python輕松實現Excel編程
- 監(jiān)控的藝術:云原生時代的監(jiān)控框架
- Java自然語言處理(原書第2版)
- Mapping with ArcGIS Pro
- Java程序設計及應用開發(fā)
- WCF全面解析