无法遍历字典中的元组
Can't iterate through tuple in dictionary
所以我是这样制作的 st
:
st = {}
cursor.execute('select * from store limit 6')
for row in cursor.fetchall():
st[row[0]] = row[0], row[1]
这里有一个简单的方法来查看我如何尝试获取元组的第一个元素:
for i in len(st):
print st[i][0]
它告诉我type "int" is not iterable
。
我实际尝试使用它的地方在这里:
costtotal = m.addVars(st[i][0], dc[i][0], obj=mileage[i,j], name="costtotal")
但它一直告诉我长对象在那里不可迭代。这是一些 gurobi 代码的一部分,用于迭代地对优化模型进行约束。我试图通过使用 st 值的第一个元素作为变量名来制作它们。
st
的值只是数字。简单的循环演示了我的问题,没有必要得到m.addVars()
的语法来理解我不认为的问题。
for i in len(st):
您正在尝试迭代一个 int(len()
return 值),正如它所说的。
并且 int
不是可迭代对象。
也许你的意思是:
for i in st.items():
print(i[0])
或
for i in st.items():
print(i[1])
取决于您想要键还是值?
您也可以直接遍历 st.keys()
或 st.values()
然后。
(len) 函数 returns 一个表示集合长度的整数。您需要 range() 函数:
for i in range(len(st)):
print(st[i][0])
所以我是这样制作的 st
:
st = {}
cursor.execute('select * from store limit 6')
for row in cursor.fetchall():
st[row[0]] = row[0], row[1]
这里有一个简单的方法来查看我如何尝试获取元组的第一个元素:
for i in len(st):
print st[i][0]
它告诉我type "int" is not iterable
。
我实际尝试使用它的地方在这里:
costtotal = m.addVars(st[i][0], dc[i][0], obj=mileage[i,j], name="costtotal")
但它一直告诉我长对象在那里不可迭代。这是一些 gurobi 代码的一部分,用于迭代地对优化模型进行约束。我试图通过使用 st 值的第一个元素作为变量名来制作它们。
st
的值只是数字。简单的循环演示了我的问题,没有必要得到m.addVars()
的语法来理解我不认为的问题。
for i in len(st):
您正在尝试迭代一个 int(len()
return 值),正如它所说的。
并且 int
不是可迭代对象。
也许你的意思是:
for i in st.items():
print(i[0])
或
for i in st.items():
print(i[1])
取决于您想要键还是值?
您也可以直接遍历 st.keys()
或 st.values()
然后。
(len) 函数 returns 一个表示集合长度的整数。您需要 range() 函数:
for i in range(len(st)):
print(st[i][0])