Python循环重复了1次以上
我需要循环一个包含2个列表的操作,但当我尝试循环它时,它会对其中的每个列表循环超过1次。这很难解释。 这是我的密码:Python循环重复了1次以上,python,Python,我需要循环一个包含2个列表的操作,但当我尝试循环它时,它会对其中的每个列表循环超过1次。这很难解释。 这是我的密码: import os #pregunta el Path userPath=("/mnt/die/go") #Hace la lista de objetos lista = ("r.alas", "r.guantes","r.cabeza","r.res") # Corta la Lista para tener solo objeto listaCorta =
import os
#pregunta el Path
userPath=("/mnt/die/go")
#Hace la lista de objetos
lista = ("r.alas", "r.guantes","r.cabeza","r.res")
# Corta la Lista para tener solo objeto
listaCorta = []
for each in lista:
listaCorta.append (str(each).split(".")[1])
for lis in lista:
for r in listaCorta:
direccion='%s/%s_1.pc2' % (userPath, r)
print lis,direccion
这就是我得到的:
# r.alas /mnt/die/go/alas_1.pc2
# r.alas /mnt/die/go/guantes_1.pc2
# r.alas /mnt/die/go/cabeza_1.pc2
# r.alas /mnt/die/go/res_1.pc2
# r.guantes /mnt/die/go/alas_1.pc2
# r.guantes /mnt/die/go/guantes_1.pc2
# r.guantes /mnt/die/go/cabeza_1.pc2
# r.guantes /mnt/die/go/res_1.pc2
# r.cabeza /mnt/die/go/alas_1.pc2
# r.cabeza /mnt/die/go/guantes_1.pc2
# r.cabeza /mnt/die/go/cabeza_1.pc2
# r.cabeza /mnt/die/go/res_1.pc2
# r.res /mnt/die/go/alas_1.pc2
# r.res /mnt/die/go/guantes_1.pc2
# r.res /mnt/die/go/cabeza_1.pc2
# r.res /mnt/die/go/res_1.pc2
# ('r.alas', '/mnt/die/go/res_1.pc2')
# ('r.guantes', '/mnt/die/go/res_1.pc2')
# ('r.cabeza', '/mnt/die/go/res_1.pc2')
# ('r.res', '/mnt/die/go/res_1.pc2')
我只需要一个,就像这样:
r.ala , /mnt/die/go/alas_1.pc2
r.guantes , /mnt/die/go/guantes_1.pc2
for each in lista:
direccion='%s/%s_1.pc2' % (userPath, str(each).split(".")[1])
print lis,direccion
拆分原始字符串,创建“direccion”变量并在第一个循环中打印它们。for循环(在另一个循环内)内的命令块执行m x n次(其中m是外循环的大小,n是内循环的大小)。for循环
for lis in lista:
for r in listaCorta:
direccion='%s/%s_1.pc2' % (userPath, r)
print lis,direccion
是什么导致了循环。
因此,您需要这样做:
for lis in lista:
direccion='%s/%s_1.pc2' % (userPath, str(lis).split(".")[1])
这样,您就可以完全摆脱1 for循环
import os
userPath=("/mnt/die/go")
lista = ("r.alas", "r.guantes","r.cabeza","r.res")
for lis in lista:
direccion='%s/%s_1.pc2' % (userPath, str(lis).split(".")[1])
print lis, direccion
我想你想要这样的东西:
r.ala , /mnt/die/go/alas_1.pc2
r.guantes , /mnt/die/go/guantes_1.pc2
for each in lista:
direccion='%s/%s_1.pc2' % (userPath, str(each).split(".")[1])
print lis,direccion
而不是你所有的循环