如何把python list里的元素变为字典的key和value,问题见补充
B=[['8','ASN','0.0'],['9','SER','0.0'],['21','PRO','0.0']]tracB={}foriteminB:forjinra...
B=[['8', 'ASN', '0.0'], ['9', 'SER', '0.0'], ['21', 'PRO', '0.0']]
tracB={}
for item in B:
for j in range(0,2000000):
B[j][0] =int(B[j][0])
tracB[B[j][0]]=B[j][1]
print tracB
运行结果
{8: 'ASN'}
{8: 'ASN', 9: 'SER'}
{8: 'ASN', 9: 'SER', 21: 'PRO'}
Traceback (most recent call last):
File "E:\python doc\test", line 12, in <module>
B[j][0] =int(B[j][0])
IndexError: list index out of range 展开
tracB={}
for item in B:
for j in range(0,2000000):
B[j][0] =int(B[j][0])
tracB[B[j][0]]=B[j][1]
print tracB
运行结果
{8: 'ASN'}
{8: 'ASN', 9: 'SER'}
{8: 'ASN', 9: 'SER', 21: 'PRO'}
Traceback (most recent call last):
File "E:\python doc\test", line 12, in <module>
B[j][0] =int(B[j][0])
IndexError: list index out of range 展开
3个回答
展开全部
你的做法是正确的,只是下标越界了
你的B只有3个元素,所以for j in range(0,2000000)这个循环到第四次,j=3的时候B[j][0]就下标越界了。
这里有个类似的问题,可以参考看看:http://zhidao.baidu.com/question/542640502?&oldq=1
你的B只有3个元素,所以for j in range(0,2000000)这个循环到第四次,j=3的时候B[j][0]就下标越界了。
这里有个类似的问题,可以参考看看:http://zhidao.baidu.com/question/542640502?&oldq=1
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
python不建议在循环中修改列表中的值。会造成索引错乱。
把列表中的哪些元素当做key,哪些元素当做value?
把列表中的哪些元素当做key,哪些元素当做value?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
tracB={}
for item in B:
traceB{item[0]:item[1]}
for item in B:
traceB{item[0]:item[1]}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询