<pre><code>import spssaux, spss, collections
from operator import itemgetter
from collections import Counter
def create_vars():
vdict=spssaux.VariableDict()
varlist = ['ID','ID2', 'Var1','Var2', 'Var3', 'Var4']
donthave=[v for v in varlist if v not in vdict]
for i in range(len(donthave)):
myvar=donthave[i]
spss.Submit(r'NUMERIC %s' %(myvar))
#spss.Submit(r'ALTER TYPE %s (ADATE10)' %(myvar))
def repeat(lst, dt1, dt2, dt3, dt4):
if dt1: date=dt1
elif dt2: date=dt2
elif dt3: date=dt3
elif dt4: date=dt4
else: date=None
for i in range(len(lst)):
lst[i].append(date)
def rcnv():
index=spssaux.VariableDict().VariableIndex
v_idx=[index(v) for v in varlist]
vals = [None] * len(v_idx)
row_to_all=[]
for i,v in enumerate(v_idx):
row_to_all.append(i)
cur=spss.Cursor(var=v_idx, accessType='w')
#cvtDates="ALL"
for i in range(cur.GetCaseCount()):
row=cur.fetchone()
for i,v in enumerate(row):
j=row_to_all[i]
vals[j]=v
(ID1, ID2, Var1, Var2, Var3, Var4) = vals
lst=[]
lst.append([UniqueDefID.rstrip()])
for i,v in enumerate(lst):
print(i)
rcnv()
create_vars()
</code></pre>
<p>我正试图重写某人的旧代码以合并新信息。<code>enumerate</code>部分对于代码的其余部分看起来非常重要,因此我正在尝试找出如何让它工作</p>
<p>无论何时我尝试做:</p>
<pre><code>for i,v in enumerate(lst):
print(i)
</code></pre>
<p>我的输出是:</p>
<pre><code>0
0
0
0
0
0
0
0
</code></pre>
<p>但预期的结果是:</p>
<pre><code>0
1
2
3
4
5
6
7
</code></pre>
<p>有什么建议吗</p>