В списке python у меня есть два элемента для каждого элемента: 1-ая str, вторая - float
L= [('A', Decimal('52.00')), ('B', Decimal('87.80')), ('G', Decimal('32.50'))]
Я хочу использовать for loop
оба элемента в элементе
NewL= []
for row in L:
### do something with str
InSql= "SELECT " % str
f= csr.execute(InSql)
ns = list(f)
###do something with float
InSql= "SELECT " % float
f= csr.execute(InSql)
nf = list(f)
NewL.append(str, float,ns, nf)
Измените цикл for
на что-то вроде этого:
for str_data, float_data in L:
# str_data is the string, float_data is the Decimal object
Два способа:
Сначала вы можете получить доступ к членам строки:
#For string:
row[0]
#For the number:
row[1]
Или вы указываете свой цикл таким образом:
for (my_string, my_number) in l:
Читая свой вопрос, я думаю, что вы хотите:
L= [('A', Decimal('52.00')), ('B', Decimal('87.80')), ('G', Decimal('32.50'))]
for my_str, my_float in L:
print "this is my string:", my_str
print "this is my fload:", my_float
Распаковка набора кортежей с переменными цикла:
L= [('A', Decimal('52.00')), ('B', Decimal('87.80')), ('G', Decimal('32.50'))]
for s, n in L:
print "string %s" % s
print "number %s" % n
ouputs:
string A
number 52.00
string B
number 87.80
string G
number 32.50