小编Vic*_*bot的帖子

在生成器函数上使用 next()

我有这个生成器功能:-

def gen():
    for i in range(3):
        yield i*i
Run Code Online (Sandbox Code Playgroud)

现在,当我调用 时next()gen()它每次都会给出第一个元素。

>>> next(gen())
0
>>> next(gen())
0
Run Code Online (Sandbox Code Playgroud)

但是当我在for循环中使用它时,它会按预期工作:

>>> for i in gen():
...     print(i)
... 
0
1
4
Run Code Online (Sandbox Code Playgroud)

有人可以解释这种效果的原因以及我在这里缺少的概念吗?

python generator python-3.x

10
推荐指数
2
解决办法
4868
查看次数

如何使用Python根据部分值将字典拆分成几个字典

我有以下字典

dict={'sku1':'k-1','sku2':'k-2','sku3':'b-10','sku4':'b-1','sku5':'x-1', 'sku6':'x-2'}
Run Code Online (Sandbox Code Playgroud)

如何根据价值的首字母获得单独的字典?喜欢:

dict1={'sku5':'x-1','sku6':'x-2'}
dict2={'sku1':'k-1','sku2':'k-2'}
dict2={'sku3':'b-10','sku4':'b-1'}
Run Code Online (Sandbox Code Playgroud)

我开始

for an_item in thevalues_ofdict:
    Splitted_Pcodes.append(int(an_item.split("-")[0]))
    for i in Splitted_Pcodes:
        if i=='x':
Run Code Online (Sandbox Code Playgroud)

但是我将如何找到整个最初的二元元素

python

7
推荐指数
1
解决办法
139
查看次数

标签 统计

python ×2

generator ×1

python-3.x ×1