我正在寻找是否有任何方法可以将操作应用于对象,并返回包含应用这些操作结果的字典。
这是我到目前为止所达到的
[{"len": len(s), "slice": s[2:4] } for s in [u'hello']][0]
但这感觉很骇人听闻,因为列表推导被认为是与列表一起使用的,而不是与一个对象/一个结果一起使用。
我想知道在 python 中是否有任何直接、更好、更快、最佳的方法来做到这一点。
编辑:我希望只使用一个表达式来解决这个问题。我不想超过一行,并且 [u'hello'] 必须在表达式中只执行一次(而不是每次操作一次)。
这两个不是解决方案:
s = [u'hello']
{"len": len(s), "slice": s[2:4] }
{"len": len([u'hello']), "slice": [u'hello'][2:4] }