• 1.字符串重复

    输入name="abcd",n=7,则函数的输出为:

    cyclicName(name, n) = "abcdabc"

    示例代码如下:

    from itertools import cycledef cyclicName(name, n):gen = cycle(name)res = [next(gen) for _ in range(n)]return ''.join(res)

    主要参考itertools的使用,参考1,2.


  • 2.dropwhile 的使用

    itertools.dropwhile(predicate, iterable)

    当迭代器中的元素使predicate函数为True时,丢弃迭代器中的元素。否则,返回该元素及该元素后的所有元素。例如:

    from itertools import dropwhile
    a=list(dropwhile(lambda x: x < 5, [1, 3, 6, 2, 1]))
    print a

    输出为:

    [6,2,1]

  • 3.实现浮点数的range函数

    给定起点终点和步长,生成一组数。例如,start=-0.5,stop=0.5,step=0.1则其输出应该是,[-0.5,-0.4,-0.3,-0.2,-0.1,0.0,0.1,0.2,0.3,0.4].
    示例代码:

    from itertools import count, takewhiledef floatRange(start, stop, step):gen = takewhile(lambda x: x<stop, count(start,step))return list(gen)

    主要是无限迭代器counttakewhile函数的使用。3


  • 4.组合生成器之permutations
    给一个英文人名列表,两两组合并按字典顺序。例如,
    players = ["trainee", "warrior", "ninja"]
    则输出为:

    rockPaperScissors(players) = [["ninja", "trainee"], ["ninja", "warrior"], ["trainee", "ninja"], ["trainee", "warrior"], ["warrior", "ninja"], ["warrior", "trainee"]]

    示例代码如下:

    from itertools import permutationsdef rockPaperScissors(players):return sorted(map(lambda x:list(x),list(permutations(players,2))))

    permutations 用于求序列的排列。


  • Refer

1 http://wiki.jikexueyuan.com/project/explore-python/Standard-Modules/itertools.
2 https://docs.python.org/2/library/itertools.html#itertools.cycle
3 http://funhacks.net/2017/02/13/itertools/

itertools编程训练相关推荐

  1. c语言测试程序题有难度的,C语言编程训练、测试题库.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspC/C++资料 C语言编程训练.测试题库.doc162页 本文档 ...

  2. 类的构造方法编程训练2—设置信用卡密码

    编程训练4 [训练4]设置信用卡密码,创建信用卡类,有两个成员变量,分别是卡号和密码,如果用户开户时没有设置初始密码,则使用 123456作为初始密码.设计两种不同的方法,分别用于设置密码和用户未设置 ...

  3. C++ 字符串编程训练1

    最近又到了找工作的时间,所以想每天抽点时间出来对编程进行相关训练.C++字符串是一个很重要的知识点,采用STL.算法等C++优于C的方面,能够使问题解决起来更加轻松.以下程序都是自己写的,可能有些地方 ...

  4. EduCoder-Web程序设计基础-web编程训练-html5-图像的运用-第2关:带插图的新媒体新闻网页的设计

    目录 任务描述 相关知识 测试说明 代码示例 任务描述 本关任务:编写一个带有插图的新闻网页. 相关知识 为了完成本关任务,你需要掌握:img标签及其属性. 图像标签的常用属性 img标签是单表签,行 ...

  5. LeeCode编程训练日记一:Two Sum

    通过Leecode训练编程,每天只做一个题目,重在训练编程思想 Practice Day 1: 2017/06/25  参考:http://blog.csdn.net/murdock_c/articl ...

  6. javascript 刷新div_用 JavaScript 实现寻路算法 —— 编程训练

    同学们好,我是来自 <技术银河>的 ? 三钻 . 寻路算法练习 学习寻路算法有什么好处? 寻路是广度优先搜索算法 所有的搜索的算法的思路的非常相似 所以在讲广度优先的算法的过程中也可以把深 ...

  7. EduCoder-Web程序设计基础 -web编程训练-html5-文档头部-第1关:页面标题及字符集的设置

    任务描述 本关任务:编写一个带有页面标题和页面字符格式设置的网页. 相关知识 为了完成本关任务,你需要掌握:1.title标签,2.meta标签关于页面字符格式的设置. title标签 title标签 ...

  8. EduCoder-Web程序设计基础 -web编程训练-html5-文档头部-第2关:元信息的设置

    目录 任务描述 编程要求 测试说明 代码示例 任务描述 本关任务:编写一个带有元信息的网页. 为了完成本关任务,你需要掌握:1.的作用,2.的属性及用法. meta标签的作用 meta标签用于定义页面 ...

  9. 静态变量和静态方法编程训练—信用卡消费记录

    [训练5]信用卡消费记录 使用静态变量定义使用信用卡消费的总次数,控制台先输出使用信用卡的每一条交易信息,再输出信用卡消费的总次数.输出如下: 您有一笔交易记录,交易金额:15550元 您有一笔交易记 ...

最新文章

  1. git清空工作区和暂存区
  2. 利用优盘安装win2008r2系统
  3. 电脑一开机出rebootand_电脑一开机就有软件弹窗广告弹出怎么办?两种方法来解决...
  4. 关于MGS4和XSI
  5. QML绘制不同类型的图表
  6. access vba表字段_vba中如何在access的一张表中得到所有的列名?
  7. s71200模拟量输入输出_模拟用户输入并检查输出的简单方法
  8. 转:巧用搜狗输入法输入英文单词
  9. 微软解释为什么 Rust 是系统编程的最佳选择
  10. 解码(一):AVCodecContext解码上下文初始化讲解
  11. Recoil 是 React 的状态管理库
  12. 20155229 2017-2018-1 《信息安全系统设计基础》课程总结
  13. 演示:取证分析IPV6组播地址的构成原理
  14. lync 2013标准版安装
  15. TCP有限状态机(全网最全)
  16. web前端基础 html5+css3(七.PS切图与项目实战(学成在线))
  17. 数字漫画行业繁花似锦,国漫扎根本土文化“向外生长”?
  18. 华为mate40e灭屏显示教程
  19. msg文件转成html文件,如何将MSG格式的文件转换为PDF格式文件?
  20. Cortex-M4和Cortex-M7中的SIMD指令

热门文章

  1. bzoj 3377: [Usaco2004 Open]The Cow Lineup 奶牛序列
  2. Wannafly交流赛1: D. 白兔的字符串(随机+EXKMP)
  3. python 中 enumerate() 函数使用
  4. C语言实现合并两个链表 含注释
  5. python机器学习案例系列教程——聚类算法总结
  6. 微波网络归一化转移矩阵[a]导出散射矩阵[S]
  7. 8086寄存器的配合使用
  8. [SDOI2011]计算器
  9. CSS-四种引入方式
  10. Mininet的内部实现原理简介