Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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 如何将字符串转换为非字符串?_Python_String - Fatal编程技术网

Python 如何将字符串转换为非字符串?

Python 如何将字符串转换为非字符串?,python,string,Python,String,如何在python中将字符串转换为非字符串 >>> bits=['0100','0011','1110','1001','0100'] >>> a=map(int,bits) >>> print a 我们把它作为输出 [100, 11, 1110, 1001, 100] 但是我们想要这个 [0100,0011,1110,1001,0100] 在不使用for循环的情况下,这可能吗?您必须在打印前格式化每个整数: print '[' + '

如何在python中将字符串转换为非字符串

>>> bits=['0100','0011','1110','1001','0100']
>>> a=map(int,bits)
>>> print a
我们把它作为输出

[100, 11, 1110, 1001, 100]
但是我们想要这个

[0100,0011,1110,1001,0100]

在不使用for循环的情况下,这可能吗?

您必须在打印前格式化每个整数:

print '[' + ', '.join(map(lambda i: format(i, '04d'), a)) + ']'
或使用:

print '[' + ', '.join(bits) + ']'
无需首先将所有字符串转换为整数

演示:

请注意,如果您的
字符串是二进制值,则需要对其进行如下解释:

>>> int('0100', 2)
4
>>> format(4, '04b')
'0100'

这将通过将数字解释为二进制,将由0和1组成的字符串转换为整数,并使用4位数字和0填充将整数转换回二进制字符串表示形式。

您必须在打印前格式化每个整数:

print '[' + ', '.join(map(lambda i: format(i, '04d'), a)) + ']'
或使用:

print '[' + ', '.join(bits) + ']'
无需首先将所有字符串转换为整数

演示:

请注意,如果您的
字符串是二进制值,则需要对其进行如下解释:

>>> int('0100', 2)
4
>>> format(4, '04b')
'0100'

这将通过将数字解释为二进制来将由0和1组成的字符串转换为整数,并使用4位数字和0填充将整数转换回二进制字符串表示形式。

您可以自己滚动列表,而不是使用Python的默认实现来打印列表:

>>> bits=['0100','0011','1110','1001','0100']
>>> print '[' + ','.join(bits) + ']'
[0100,0011,1110,1001,0100]
在这种情况下,由于
列表中的项目已经填充并且是字符串,因此没有理由在任何时候转换为int或任何其他数据类型


如果您确实想要一个填充的数字列表,那么您的原始代码就足够了。它可能不会在左边显示0,但因为它们是数字,所以您不需要它们。

您可以自己滚动,而不是使用Python的默认实现来打印列表:

>>> bits=['0100','0011','1110','1001','0100']
>>> print '[' + ','.join(bits) + ']'
[0100,0011,1110,1001,0100]
在这种情况下,由于
列表中的项目已经填充并且是字符串,因此没有理由在任何时候转换为int或任何其他数据类型


如果您确实想要一个填充的数字列表,那么您的原始代码就足够了。它可能不会在左边显示0,但因为它们是数字,所以您不需要它们。

如果有整数,则必须将其重新格式化为带填充的字符串。您需要它做什么?带前导零的整数与不带前导零的整数没有什么不同。前导0是指八进制数吗?如果有整数,则必须将其重新格式化为带填充的字符串。这有什么用?带前导零的整数和不带前导零的整数没有什么不同。你是说前导0是八进制数吗?