python在for循环期间对嵌套的(?)列表值执行转换
我是python初学者,但希望从遇到的问题中学习 在编写脚本的末尾,我有一段代码(见下文),它在python在for循环期间对嵌套的(?)列表值执行转换,python,list,loops,for-loop,Python,List,Loops,For Loop,我是python初学者,但希望从遇到的问题中学习 在编写脚本的末尾,我有一段代码(见下文),它在.txt文件中输出一系列值: 名称,bcoords[i]*位于 该操作重复4次,直到计数>3为真 发生的情况是(伪代码): output = open('solution_AT.txt','a') if tet_i == None: output.write(str(target[0])) output.write('\n') else: names = [colors[i
.txt
文件中输出一系列值:
名称,bcoords[i]*位于
该操作重复4次,直到计数>3
为真
发生的情况是(伪代码):
output = open('solution_AT.txt','a')
if tet_i == None:
output.write(str(target[0]))
output.write('\n')
else:
names = [colors[i][0] for i in tg.tets[tet_i]]
sorted_indices = sorted(enumerate(names), key=lambda (i, name): priority_list[name])
output.write(target[0])
counting = 0
for i, name in sorted(enumerate(names), key=lambda (i, name): priority_list[name]):
output.write(',%s,%s' % (name, bcoords[i]*AT))
counting = counting + 1
if counting > 3:
output.write('\n')
counting = 0
open('solution_AT.txt','a')
output.write(str(目标[0]))
output.write('\n')
计数=0
output.write(name0,bccords0*AT)
计数=1
output.write(name1,bccords1*AT)
计数=2
output.write(name2,bccords2*AT)
计数=3
output.write(name3,bccords3*AT)
计数=4
为(计数>3)
真
output.write('\n')
计数=0
bcoords0*AT
,bcoords1*AT
,bcoords2*AT
,bcoords3*AT
因为我想对它们执行一些可变的相互依赖的数学运算
也就是说,我想做的是(伪代码):
output = open('solution_AT.txt','a')
if tet_i == None:
output.write(str(target[0]))
output.write('\n')
else:
names = [colors[i][0] for i in tg.tets[tet_i]]
sorted_indices = sorted(enumerate(names), key=lambda (i, name): priority_list[name])
output.write(target[0])
counting = 0
for i, name in sorted(enumerate(names), key=lambda (i, name): priority_list[name]):
output.write(',%s,%s' % (name, bcoords[i]*AT))
counting = counting + 1
if counting > 3:
output.write('\n')
counting = 0
首先,对变量bcoords
a=bcoords0*AT/(1-bcoords3*AT-bcoords2*AT-bcoords1*AT)
b=bcoords1*AT/(1-bcoords3*AT-bcoords2*AT)
c=bcoords2*AT/(1-bcoords3*AT)
d=bcoords3*AT
a
、b
、c
、d
而不是bcoords0*AT
、bcoords1*AT
、bcoords2*AT
、bcoords3*AT
open('solution_AT.txt','a')
output.write(str(目标[0]))
output.write('\n')
output.write(name0,a)
output.write(name1,b)
output.write(name2,c)
output.write(name3,d)
output.write('\n')
output = open('solution_AT.txt','a')
if tet_i == None:
output.write(str(target[0]))
output.write('\n')
else:
names = [colors[i][0] for i in tg.tets[tet_i]]
sorted_indices = sorted(enumerate(names), key=lambda (i, name): priority_list[name])
output.write(target[0])
counting = 0
for i, name in sorted(enumerate(names), key=lambda (i, name): priority_list[name]):
output.write(',%s,%s' % (name, bcoords[i]*AT))
counting = counting + 1
if counting > 3:
output.write('\n')
counting = 0
output.close()对不起,这个问题很简单,我在那里找到了我的解决方案: 如果有任何帮助,以下是我的新代码:
output = open('solution_AT.txt','a')
if tet_i == None:
output.write(str(target[0]))
output.write('\n')
else:
names = [colors[i][0] for i in tg.tets[tet_i]]
sorted_indices = sorted(enumerate(names), key=lambda (i, name): priority_list[name])
output.write(target[0], 'none', '0', 'none', '0', 'none', '0', 'none', '0')
counting = 0
top = 0
for i, name in sorted(enumerate(names), key=lambda (i, name): priority_list[name]):
VAR1 = (bcoords[i]*AT)
VAR2 = int(((bcoords[i]*AT)/(1-top))*65535)
output.write(',%s,%s' % (name, VAR2))
counting = counting + 1
top = top + VAR1
if counting > 3:
output.write('\n')
counting = 0