加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python中的振荡值

发布时间:2020-12-20 11:39:15 所属栏目:Python 来源:网络整理
导读:所以我需要有两个值来回振荡. 第一次说2,第二次说4.从顶部重复. 所以我编写了下面的生成器函数.每次通过next调用它都会返回后续值,然后从顶部重复. 为了学习,改进,不是意见,还有更好的方法吗?在Python中似乎总是有更好的方法,我喜欢学习它们以提高我的技能.
所以我需要有两个值来回振荡.
第一次说2,第二次说4.从顶部重复.

所以我编写了下面的生成器函数.每次通过next调用它都会返回后续值,然后从顶部重复.

为了学习,改进,不是意见,还有更好的方法吗?在Python中似乎总是有更好的方法,我喜欢学习它们以提高我的技能.

“主要代码”仅用于显示正在使用的发生器,振荡器的示例,而不是振荡器的主要用途.

## Main code
go_Osci = g_Osci()
for i in xrange(10):
    print("Value: %i") %(go_Osci.next())

## Generator
def g_Osci():
    while True:
        yield 2
        yield 4

解决方法

是的,还有更好的方法. itertools.cycle是为此任务明确设计的:

>>> from itertools import cycle
>>> for i in cycle([2,4]):
...     print i
...
2
4
2
4
2
4
2
# Goes on forever

您也可以使用enumerate仅循环一定次数:

>>> for i,j in enumerate(cycle([2,4])):
...     if i == 10:  # Only loop 10 times
...         break
...     print j
...
2
4
2
4
2
4
2
4
2
4
>>>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读