check = {v: [j for j, p in enumerate(expression) if p == v] for v in var}
在这种情况下,expression
是一个字符串,var
是一个列表。我无法理解这里发生的事情,如果有人能提供帮助,那将非常有帮助!
答案 0 :(得分:2)
这将创建一个字典。
键是列表var
的元素。
与键关联的对象将是包含字符串位置的列表,这些字符串在字符串expression
示例:
var=['e','l']
expression=['hello']
会导致字典
check={'e' : [1] , 'l' : [2,3]}
因为' e'在#hello'中处于第二位置和' l'在第三和第四位置(注意enumerate
从0开始计数。)
答案 1 :(得分:0)
将表达式分为两部分:
part1:{v:f(v)for v in var} result是一个代表每个v in的dict var及其f(v)
第2部分:def f(v): 如果p == v,则返回[j表示j,p表示枚举(表达式) 这部分只返回字符串表达式中与v
类似的char列表