我的列表理解有什么问题?

时间:2017-06-29 13:20:42

标签: python

怎么运行

[int(x, 16) for x in ['BB', 'A7', 'F6', '9E']]

但这不是吗?

mylist = ['BB','A7','F6','9E']
mylist2 = [int(x, 16) for x in [mylist]]

我错过了一些基本的东西吗?

2 个答案:

答案 0 :(得分:8)

[mylist]是仅包含1个元素的列表:mylist

在第一次迭代中,x将成为整个mylist,然后您基本上拥有:

int(mylist, 16)

这没有多大意义。

如果你想迭代mylist,请不要将它包装在一个额外的列表中:

[int(x, 16) for x in mylist]

答案 1 :(得分:1)

mylist = ['BB','A7','F6','9E']
mylist2 = [int(x, 16) for x in mylist]

应该工作