如何把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
展开
 我来答
花花浪客
2013-04-22 · TA获得超过2069个赞
知道小有建树答主
回答量:792
采纳率:100%
帮助的人:711万
展开全部
你的做法是正确的,只是下标越界了

你的B只有3个元素,所以for j in range(0,2000000)这个循环到第四次,j=3的时候B[j][0]就下标越界了。
这里有个类似的问题,可以参考看看:http://zhidao.baidu.com/question/542640502?&oldq=1
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
巴巴吖葩琦
2018-05-17 · TA获得超过452个赞
知道小有建树答主
回答量:442
采纳率:80%
帮助的人:155万
展开全部
python不建议在循环中修改列表中的值。会造成索引错乱。
把列表中的哪些元素当做key,哪些元素当做value?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
271680114
推荐于2018-05-17 · TA获得超过466个赞
知道小有建树答主
回答量:248
采纳率:0%
帮助的人:206万
展开全部
tracB={}
for item in B:
traceB{item[0]:item[1]}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式