我有这个生成器功能:-
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)
有人可以解释这种效果的原因以及我在这里缺少的概念吗?
我有以下字典
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)
但是我将如何找到整个最初的二元元素