Loops 我无法理解这个迭代器
下面是我试图理解的代码。我读过Loops 我无法理解这个迭代器,loops,dictionary,iterator,iterable,Loops,Dictionary,Iterator,Iterable,下面是我试图理解的代码。我读过 就我而言,我无法理解v和k代表什么。此外,当k被赋值时?您给出的代码片段将创建一个对象,该对象可从下一个函数中的my_dict项进行编辑。然后,它将打印满足k条件中的if'Date'的第一个值,即“7月15日” k,v值是在创建iterable对象时指定的(在您的示例中,它是列表),并表示键('name','age','Date of birth')和值('Klauss',26,'july 15')分别。您给出的代码片段创建了一个对象,该对象可从next函数中的m
就我而言,我无法理解v和k代表什么。此外,当k被赋值时?您给出的代码片段将创建一个对象,该对象可从
下一个函数中的my_dict
项进行编辑。然后,它将打印满足k
条件中的if'Date'的第一个值,即“7月15日”
k,v
值是在创建iterable对象时指定的(在您的示例中,它是列表
),并表示键('name'
,'age'
,'Date of birth'
)和值('Klauss'
,26
,'july 15'
)分别。您给出的代码片段创建了一个对象,该对象可从next
函数中的my_dict
项进行编辑。然后,它将打印满足k
条件中的if'Date'的第一个值,即“7月15日”
k,v
值是在创建iterable对象时指定的(在您的示例中,它是list
),并分别表示键('name'
,'age'
,'Date of birth'
)和值('Klauss'
,26
,'july 15'
)词汇表上的函数迭代此词汇表的键、值对
例如,您可能会在中找到这一点
因此:
是包含dict的(键、值)对的列表(按随机顺序)
同样地:
>>> [v for k,v in my_dict.items()]
['15th july', 26, 'Klauss']
是包含dict值的列表
最后:
>>> [v for k,v in my_dict.items() if 'Date' in k]
['15th july']
是dict值的列表,其关键字包含单词“Date”
注:这意味着,如果您定义:
>>> my_dict = {'name': 'Klauss', 'age': 26, 'Date of birth': '15th july', 'Date of death' : '16th march'}
您将获得:
>>> [v for k,v in my_dict.items() if 'Date' in k]
['16th march', '15th july']
考虑到“下一个”冰毒,你可能会发现
那
下一步(迭代器[,默认])
通过调用迭代器的next()方法从迭代器中检索下一项。如果给定默认值,则在迭代器耗尽时返回,否则将引发StopIteration
也就是说
>>> next(v for k,v in my_dict.items() if 'Date' in k)
'16th march'
是词汇表的第一个(按随机顺序)值,其关键字包含单词“Date”items()函数对该词汇表的关键字、值对进行迭代
例如,您可能会在中找到这一点
因此:
是包含dict的(键、值)对的列表(按随机顺序)
同样地:
>>> [v for k,v in my_dict.items()]
['15th july', 26, 'Klauss']
是包含dict值的列表
最后:
>>> [v for k,v in my_dict.items() if 'Date' in k]
['15th july']
是dict值的列表,其关键字包含单词“Date”
注:这意味着,如果您定义:
>>> my_dict = {'name': 'Klauss', 'age': 26, 'Date of birth': '15th july', 'Date of death' : '16th march'}
您将获得:
>>> [v for k,v in my_dict.items() if 'Date' in k]
['16th march', '15th july']
考虑到“下一个”冰毒,你可能会发现
那
下一步(迭代器[,默认])
通过调用迭代器的next()方法从迭代器中检索下一项。如果给定默认值,则在迭代器耗尽时返回,否则将引发StopIteration
也就是说
>>> next(v for k,v in my_dict.items() if 'Date' in k)
'16th march'
关键字包含单词“Date”的词汇表的第一个(按随机顺序)值是否也可以反转?返回键而不是值?当然,使用相同的语法,它应该是:[k代表k,v在我的dict.items()中,如果k中是“Date”]
我可能不完全理解,但我觉得我已经做到了。“for”前面的内容就是将要返回的内容。例如:>>[4 For k,v in my_dict.items()]返回[4,4,4]
我已经使用这种类型的迭代器有一段时间了,但大部分都是复制过去的,不知道它是如何返回我想要的。哈哈,太谢谢你了!!反过来也可能吗?返回键而不是值?当然,使用相同的语法,它应该是:[k代表k,v在我的dict.items()中,如果k中是“Date”]
我可能不完全理解,但我觉得我已经做到了。“for”前面的内容就是将要返回的内容。例如:>>[4 For k,v in my_dict.items()]返回[4,4,4]
我已经使用这种类型的迭代器有一段时间了,但大部分都是复制过去的,不知道它是如何返回我想要的。哈哈,太谢谢你了!!