(Python)有人能解释一下这行代码吗?
在本例中,(Python)有人能解释一下这行代码吗?,python,Python,在本例中,expression是一个字符串,var是一个列表。我很难理解这里发生了什么,如果有人能帮助我,那将是非常有帮助的 将表达式分为两部分: 第1部分:{v:f(v)for v in var}result是一个dict,表示var中的每个v var及其f(v) 第2部分:def f(v): 如果p==v,则在枚举(表达式)中返回[j代表j,p] 这部分只返回字符串表达式中与v类似的字符列表,这将创建一个字典。 键是列表var的元素。 与键关联的对象将是包含字符串位置的列表,这些字符串在字符
expression
是一个字符串,var
是一个列表。我很难理解这里发生了什么,如果有人能帮助我,那将是非常有帮助的 将表达式分为两部分:
第1部分:{v:f(v)for v in var}result是一个dict,表示var中的每个v
var及其f(v)
第2部分:def f(v):
如果p==v,则在枚举(表达式)中返回[j代表j,p]这部分只返回字符串表达式中与v类似的字符列表,这将创建一个字典。 键是列表
var
的元素。
与键关联的对象将是包含字符串位置的列表,这些字符串在字符串表达式中用作键
例如:
check = {v: [j for j, p in enumerate(expression) if p == v] for v in var}
会导致口授
var=['e','l']
expression=['hello']
由于“e”在“hello”中位于第二位,“l”在第三和第四位(请注意,enumerate
从0开始计数)。这是一个字典理解,其值为列表理解。它创建一个包含列表值的字典。
check={'e' : [1] , 'l' : [2,3]}