我怎样才能重新组织这个列表?

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'])])