"for"、"lfor" 等中的多个迭代器,类似 "dct.items()"
Multiple iterators in "for", "lfor", etc. with something like "dct.items()"
如何将以下内容转换为 hy
?
dct = { 1:2, 3:4 }
print([i*j for i, j in dct.items()])
# => [2, 12]
我对你的标题感到困惑,因为你的示例中只有一个迭代子句,但无论如何,这是一个字面的 Hy 翻译:
(setv dct {1 2 3 4})
(print (lfor [i j] (.items dct) (* i j)))
; => [2, 12]
但您也可以使用影子乘法运算符来做到这一点:
(import hy.pyops *)
(setv dct {1 2 3 4})
(print #* (map * (.keys dct) (.values dct)))
; => 2 12
如何将以下内容转换为 hy
?
dct = { 1:2, 3:4 }
print([i*j for i, j in dct.items()])
# => [2, 12]
我对你的标题感到困惑,因为你的示例中只有一个迭代子句,但无论如何,这是一个字面的 Hy 翻译:
(setv dct {1 2 3 4})
(print (lfor [i j] (.items dct) (* i j)))
; => [2, 12]
但您也可以使用影子乘法运算符来做到这一点:
(import hy.pyops *)
(setv dct {1 2 3 4})
(print #* (map * (.keys dct) (.values dct)))
; => 2 12