我正在尝试转换这个嵌套的 for 循环:
for k,v in all_R.iteritems():
for pairs in v:
print pairs[1]
Run Code Online (Sandbox Code Playgroud)
到一个班轮,是这样的:
print ([pairs[1] for pairs in v for k,v in all_R.iteritems()])
Run Code Online (Sandbox Code Playgroud)
但我收到此错误:
UnboundLocalError: local variable 'v' referenced before assignment
Run Code Online (Sandbox Code Playgroud)
all_R 是一个 defaultdict,其中每个值都有成对的键,我只对那对中的一个值感兴趣:
{'1-0002': [('A-75G', 'dnaN'), ('I245T', 'recF'),... ], '1-0004': [('A-75G', 'dnaN'), ('L161', 'dnaN'),...]}
Run Code Online (Sandbox Code Playgroud) 我需要以非常特定的格式生成输出,并且正整数必须在它们前面有一个加号.我正在使用numpy数组,并尝试这样的东西:
if(int(P[pnt])>0):
P[pnt] += np.insert(P[pnt-1],0,"+")
Run Code Online (Sandbox Code Playgroud)
但它永远不会添加加号作为数字的一部分,而是作为一个不同的实例..
我也尝试将其保存在不同的文件中,然后从那里修改它(使用re.sub()等...)但没有运气:(
我的输出看起来像这样:
(+1 2 -4 +5 -3)
(+1 2 3 -5 4)
(+1 2 3 -4 5)
(+1 2 3 4 5)
Run Code Online (Sandbox Code Playgroud)
并且应该如下所示:
(+1 +2 -4 +5 -3)
(+1 +2 +3 -5 +4)
(+1 +2 +3 -4 +5)
(+1 +2 +3 +4 +5)
Run Code Online (Sandbox Code Playgroud)
如有必要,我可以分享整个代码......
谢谢!!:)