使用單個語句,打印僅包含原子符號及其對應於wts(我的詞典)中的元素的相應權重的字典,這些元素的原子符號中只有一個字母。即,包括'H'但省略'他'。我的字典裏被設置爲{'H':'1.00794','He':'4.002602','Li':'6.941','Be':'9.012182','B':'10.811','C':'12.0107','N':'14.0067','O':'15.9994'}
嘗試使用列表理解過濾詞典
[for element in wts if len(element) == 1]
我在想一個列表解析會的工作,但,我如何讓它看起來只在元素符號。這將返回一個錯誤:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "_sage_input_45.py", line 10, in <module>
exec compile(u"print _support_.syseval(python, u'[for element in wts if len(element) == 1]', __SAGE_TMP_DIR__)" + '\n', '', 'single')
File "", line 1, in <module>
File "/sagenb/sage_install/sage-5.3-sage.math.washington.edu-x86_64-Linux/devel/sagenb-git/sagenb/misc/support.py", line 487, in syseval
return system.eval(cmd, sage_globals, locals = sage_globals)
File "/sagenb/sage_install/sage-5.3-sage.math.washington.edu-x86_64-Linux/local/lib/python2.7/site-packages/sage/misc/python.py", line 53, in eval
eval(compile(s, '', 'exec'), globals, globals)
File "", line 3
[for element in wts if len(element) == 1]
^
SyntaxError: invalid syntax