我从服务器等待发送给我一个列表,其中包括ip,后跟一个“,”,然后是一个端口,后跟“;”。然后还有另一个元组...和另一个x元组...
示例是:
127.0.0.1,45403;127.0.0.1,47146;127.0.0.1,52888
我想重新组织它,所以我在每个循环中都有x次迭代
Ipx = 127.0.0.1
Portx = 45403
在循环的下一次迭代中
Ipx = 17.0.0.1
Portx = 47146
每个元组的etc(Ipx和Portx是不同的变量)
我尝试过
ipx , portx = lista.split(";")
print ipx
print portx
但这不起作用...
答案 0 :(得分:4)
您需要除以;然后按,如下所示:
lista = "127.0.0.1,45403;127.0.0.1,47146;127.0.0.1,52888"
for address in lista.split(";"):
ipx, portx = address.split(',')
print(f'IP: {ipx}, Port: {portx}')
答案 1 :(得分:3)
如果服务器的响应是字符串,则可以执行以下操作:
inList = '127.0.0.1,45403;127.0.0.1,47146;127.0.0.1,52888'
inList = [[elem for elem in item.split(',')] for item in inList.split(';')]
for ip, port in inList:
print(ip)
print(port)
输出:
127.0.0.1
45403
127.0.0.1
47146
127.0.0.1
52888
答案 2 :(得分:1)
您可以创建OrderedDict并将所有IP和端口保留在列表中
from collections import OrderedDict
d=OrderedDict()
d.setdefault('ip',[])
d.setdefault('port',[])
inList = '127.0.0.1,45403;127.0.0.1,47146;127.0.0.1,52888'
for i in inList.split(';'):
temp=i.split(',')
d['ip'].append(temp[0])
d['port'].append(temp[1])
print(d)
输出
OrderedDict([('ip', ['127.0.0.1', '127.0.0.1', '127.0.0.1']),
('port', ['45403', '47146', '52888'])])
答案 3 :(得分:0)
好,所以您正途经中,您需要的是:
ipx = lista.split(";")[0].split(“,”)[0]
portx = lista.split(";")[0].split(“,”)[1]
print ipx
print portx
如果您要注册多个IP地址,则可以使用字典作为:
Ip_port = dict()
For i in all-data:
a = i.split(";")[0].split(“,”)[0]
Ip_port[a] = i.split(";")[0].split(“,”)[1]
想象一下,您在python列表中拥有了所有“ lista”。