Python 字符串转换为int的干净列表

Python 字符串转换为int的干净列表,python,Python,理想情况下,我想把这个100020630转换成[100020630] 但到目前为止,我只能将100.020.630转换为[100020630] 对于一些额外的信息,我的目标是不把ip地址作为第一步变成bin地址= 编辑:我还没有找到任何方法可以在没有堆栈溢出列表的情况下获取列表 这里有一种方法使用: 您可以使用内置功能: In[3]:s=100020630 在[4]:导入文本换行 在[6]中:textwrap.wrapps,3

理想情况下,我想把这个100020630转换成[100020630] 但到目前为止,我只能将100.020.630转换为[100020630]

对于一些额外的信息,我的目标是不把ip地址作为第一步变成bin地址=


编辑:我还没有找到任何方法可以在没有堆栈溢出列表的情况下获取列表


这里有一种方法使用:


您可以使用内置功能:

In[3]:s=100020630 在[4]:导入文本换行 在[6]中:textwrap.wrapps,3 输出[6]:['100','020','630'] 将单个段落包装为字符串,使每一行的长度最多为宽度字符。返回输出行列表,不包含最终换行符

如果您想要整数列表:

[textwrap.wrapps中num的intnum,3] 产出:

[100, 020, 630]
['100', '020', '630']

您可以使用内置功能:

In[3]:s=100020630 在[4]:导入文本换行 在[6]中:textwrap.wrapps,3 输出[6]:['100','020','630'] 将单个段落包装为字符串,使每一行的长度最多为宽度字符。返回输出行列表,不包含最终换行符

如果您想要整数列表:

[textwrap.wrapps中num的intnum,3] 产出:

[100, 020, 630]
['100', '020', '630']
输出:

[192, 123, 10]
输出:

[192, 123, 10]

使用正则表达式查找三元组的所有匹配项\d{3}

输出:

[100, 20, 630]

使用正则表达式查找三元组的所有匹配项\d{3}

输出:

[100, 20, 630]

如果你想处理IP地址,那你就大错特错了

是24位二进制数字,而不是9位十进制数字。它被分成4个子块,如:192.168.0.1。但是在十进制视图中,它们都可以是3位、2位或任何其他组合。我建议您使用标准模块:

import ipaddress

a = '192.168.0.1'

ip = ipaddress.ip_address(a)
ip.packed
将返回压缩的二进制格式:

b'\xc0\xa8\x00\x01'

如果要将IPv4转换为二进制格式,可以使用以下命令:

.joinbini[2:]表示ip中的i

它将返回以下字符串:


“11000000100001”

如果您想处理IP地址,那么您完全错了

是24位二进制数字,而不是9位十进制数字。它被分成4个子块,如:192.168.0.1。但是在十进制视图中,它们都可以是3位、2位或任何其他组合。我建议您使用标准模块:

import ipaddress

a = '192.168.0.1'

ip = ipaddress.ip_address(a)
ip.packed
将返回压缩的二进制格式:

b'\xc0\xa8\x00\x01'

如果要将IPv4转换为二进制格式,可以使用以下命令:

.joinbini[2:]表示ip中的i

它将返回以下字符串:

“11000000100001”

您可以使用wrap,它是python中的内置函数

from textwrap import wrap

def fulltotriple(x):
    x = wrap(x, 3)
    return x

print(fulltotriple("100020630"))
产出:

[100, 020, 630]
['100', '020', '630']
您可以使用wrap,它是python中的一个内置函数

from textwrap import wrap

def fulltotriple(x):
    x = wrap(x, 3)
    return x

print(fulltotriple("100020630"))
产出:

[100, 020, 630]
['100', '020', '630']

您可以为此使用python内置程序:

文本='100020630' 使用包裹 从文本包装导入包装 wraptext,3 >>> ['100', '020', '630'] 使用map/zip map.join,zip*[itertext]*3 >>> ['100', '020', '630']
您可以为此使用python内置程序:

文本='100020630' 使用包裹 从文本包装导入包装 wraptext,3 >>> ['100', '020', '630'] 使用map/zip map.join,zip*[itertext]*3 >>> ['100', '020', '630']
可能重复的可能重复的仍然存在问题保留在列表中如果要将它们作为整数,请将[ints[i:i+3]用于范围0中的i,lens,3]@Pablitognp仍然存在问题保留在列表中如果要将它们作为整数,请将[ints[i:i+3]用于范围0中的i,lens,3]@PABLITOGNP列表中仍然存在问题您可以使用

list CONTRUSION以获得整数列表。更新了我的答案。列表中仍然存在问题。您可以使用列表理解来创建Int列表。更新了我的答案。仍然有一个问题列表中的剩余部分您能解释一下@Pablitongnpi想要[192]而不是[192]以使其可用作int=仍然有一个问题列表中的剩余部分您能解释一下@Pablitongnpi想要[192]而不是[192]是什么意思吗要使其可用作int=谢谢我如何将其放入由4组8个数字组成的列表中我如何将其放入由4组8个数字组成的列表中仍然存在一个问题list@PablitoGnp我没听清楚对不起,能解释一下我想要的是[192]而不是[192]要将其用作int=仍然存在一个问题list@PablitoGnp我没有理解你,抱歉,请解释一下,我想要[192]而不是[192],因为它可以用作int=在list@PablitoGnp您可以在wraptext中执行[intx for x,3]或者看看亚图的回答,问题仍然存在list@PablitoGnp您可以执行[intx for x in wraptext,3]或查看Yatu的答案