Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-list转换_Python_List - Fatal编程技术网

Python-list转换

Python-list转换,python,list,Python,List,有人知道我要用什么魔法来改变x列表吗: x=[1,2,3,4,5,11] 进入y列表 y=['01','02','03','04','05','11'] 提前感谢您的帮助…您想使用内置功能: >>> x = [1,2,3,4,5] >>> x [1, 2, 3, 4, 5] >>> y = map(str, x) >>> y ['1', '2', '3', '4', '5'] 编辑您更改了对我的要求!要使其显示前导零,请执

有人知道我要用什么魔法来改变x列表吗:

x=[1,2,3,4,5,11]

进入y列表

y=['01','02','03','04','05','11']


提前感谢您的帮助…

您想使用内置功能:

>>> x = [1,2,3,4,5]
>>> x
[1, 2, 3, 4, 5]
>>> y = map(str, x)
>>> y
['1', '2', '3', '4', '5']
编辑您更改了对我的要求!要使其显示前导零,请执行以下操作:

>>> x = [1,2,3,4,5,11]
>>> y = ["%02d" % v for v in x]
>>> y
['01', '02', '03', '04', '05', '11'] 

您可以使用列表理解(Python 2.6+):

或者对于2.6之前的Python:

y = ["%02d" % v for v in x]
或者对于使用f字符串的Python 3.6+:

y = [f'{v:02}' for v in x] 
编辑:忽略了您想要零填充的事实…

以获得0:

y = ['%02d' % i for i in x]

我自己也会使用列表理解,但对于那些感兴趣的人,这里有另一个使用map的解决方案

map(lambda v: "%02d" %v, x)

格式化字符串的另一种方法是使用字符串的zfill()方法:

另一件事:您可能需要根据列表中最大的项目进行填充,因此您可以执行以下操作,而不是仅使用2:

pad_length = len(str(max(x)))
y = [str(i).zfill(pad_length) for i in x]
试试这个:

>>> [str(v).rjust(2,'0') for v in x]
['01', '02', '03', '04', '05', '11']

作为string类的一种方法,它接受一个整数参数(结果长度)和一个可选的填充字符

,分号正盯着我看!住手!哇!旧习惯很难改掉。如果我想加零,如果数字是一个数字,我希望我的数字每个是两个数字?有趣的是,我没有听说过这种“{0:0>2}”语法。它是否包含在任何PEP或其他文档中?这是一种新的语法(据推测)旨在逐渐取代%语法。对于某些事情来说,它实际上是非常好的,我已经在我的代码中使用了它,但是在使用了这么长时间之后,我仍然觉得它很奇怪。更多信息请点击此处:
y = [str(i).zfill(2) for i in x]
pad_length = len(str(max(x)))
y = [str(i).zfill(pad_length) for i in x]
>>> [str(v).rjust(2,'0') for v in x]
['01', '02', '03', '04', '05', '11']