我正在从运行在字符串上的一些re.findall中创建2个列表。
jobids = re.findall(r'R=(\d+)', (str(key['Job Dependencies'])))
jobdeps = re.findall(r'J=(\d+)', (str(key['Job Dependencies'])))这两种方法都创建了如下列表:
['14866152', '0', '0', '14866149', '0', '14866156']
['75205', '52336', '75208', '75207', '75197', '75200']在上面的例子中,列表总是有相同数量的元素,即6。
我要做的是扫描第一个列表,如果它是一个0,我想要从第二个列表中的数字在相同的值。
我猜我需要做的事情是:
for key in jobids:
if key == '0':
print jobdeps但那会把整个名单还给我,我不想要。我希望在上面的示例中分别返回'52336'、'75208'和'75197'。
发布于 2014-12-08 15:35:40
zip()是你的朋友:
for key, val in zip(jobids, jobdeps):
if key == '0':
print val发布于 2014-12-08 15:35:24
尝尝这个
for index, key in enumerate(jobids):
if key == '0':
print jobdeps[index]https://stackoverflow.com/questions/27361330
复制相似问题