我怎样才能重新组织这个列表?
How can I reorganize this list?
我等待服务器向我发送一个列表,其中包括 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
每个元组等(Ipx 和 Portx 是不同的变量)
我试过了
ipx , portx = lista.split(";")
print ipx
print portx
但是没用...
你需要拆分;然后通过,如下:
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}')
如果你的服务器的响应是一个字符串,那么你可以这样做:
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
好的,你已经完成一半了,你需要的是:
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”。
您可以创建一个 OrderedDict 并将所有 ips 和端口保存在一个列表中
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'])])
我等待服务器向我发送一个列表,其中包括 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
每个元组等(Ipx 和 Portx 是不同的变量)
我试过了
ipx , portx = lista.split(";")
print ipx
print portx
但是没用...
你需要拆分;然后通过,如下:
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}')
如果你的服务器的响应是一个字符串,那么你可以这样做:
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
好的,你已经完成一半了,你需要的是:
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”。
您可以创建一个 OrderedDict 并将所有 ips 和端口保存在一个列表中
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'])])