【发布时间】:2014-08-26 17:38:16
【问题描述】:
我有一个字符串
a = 2,00,02
这个字符串的每个元素都有数据类型str。
我想将其转换为 a = [2, 00, 02] 之类的列表,因此 a 是 list 并且 a 的每个元素都应具有数据类型 int
我所做的是a = [int(each) for each in a],它给了我a = [2,0,2],其中a 是一个列表,a 中的每个都是一个整数。
但这不是我想要做的。我想要a = [2, 00, 02],其中中间的0 应该是00,最后一个02 应该是02,而不是0 和2。
我该怎么做?
【问题讨论】:
-
如果你希望它们中的每一个都是
int,那么你不能期望'00'在int中存储为00 -
您能重新表述一下您的需求吗?
02 == 2。这只是输出格式的问题。默认情况下,Python 不显示前导零。正在寻找"{:02d}".format(...)吗? -
如果想要
list的int类型的数据,那么你不能有00或02顺便说一句。 -
@Sylvain 是的。我一直在寻找用 2 位数字表示它的方法。
-
你需要重写这个问题,这样才有意义。你不可能有一个字符串
a = 2,00,02,因为那不是一个字符串;这是 Python 2.x 中的 3 个整数的元组,而 Python 3.x 中的语法错误。此外,字符串的每个元素都是一个单字符字符串。那么,您实际上拥有什么?是 'a = '2,00,02'? Ora=('2', '00', '02')`?还是完全不同的东西?
标签: python string list int type-conversion