我有以下嵌套串列:(串列更長,但作為示例):
lst = [['IP 地址 1','TCP'], ['IP 地址 2','UDP'],['IP 地址 3','UDP/TCP']]
所需的輸出是:
lst=[['IP地址1','tcp'],['IP地址2','udp'],['IP地址3','udp'],['IP地址3','tcp']
這意味著我想用小寫字母替換 TCP 和 UDP 的大寫字母,并將 UDP/TCP 分成兩個串列。(我的問題是如何制作分離代碼)
我的代碼是:
lst = [['IP Address 1','TCP'], ['IP Address 2 ','UDP'],['IP Address 3','UDP/TCP']]
for x in lst:
if x[1]=="TCP":
x[1]="tcp"
elif x[1]=="UDP":
x[1] = "udp"
elif x[1] == "UDP/TCP":
x[1] = "udp"
x[1]="tcp"
print(lst)
uj5u.com熱心網友回復:
lst = [['IP Address 1','TCP'], ['IP Address 2 ','UDP'],['IP Address 3','UDP/TCP']]
for x in lst:
if x[1]=="TCP":
x[1]="tcp"
elif x[1]=="UDP":
x[1] = "udp"
elif x[1] == "UDP/TCP":
x[1] = "udp"
lst.append([x[0], "tcp"])
print(lst)
uj5u.com熱心網友回復:
像下面這樣的東西
lst = [['IP Address 1','TCP'], ['IP Address 2 ','UDP'],['IP Address 3','UDP/TCP']]
result = []
for e in lst:
if e[1] == 'UDP/TCP':
result.append([e[0],'udp'])
result.append([e[0],'tcp'])
else:
result.append([e[0],e[1].lower()])
print(result)
輸出
[['IP Address 1', 'tcp'], ['IP Address 2 ', 'udp'], ['IP Address 3', 'udp'], ['IP Address 3', 'tcp']]
uj5u.com熱心網友回復:
如果要更新相同的串列,
>>> lst = [['IP Address 1','TCP'], ['IP Address 2 ','UDP'],['IP Address 3','UDP/TCP']]
>>> for i in lst:
... i[1]=i[1].lower()
... if '/' in i[1]:
... lst.append([i[0], i[1].split('/')[0]])
... lst.append([i[0], i[1].split('/')[1]])
... lst.remove(i)
...
>>> print(lst)
輸出:
[['IP Address 1', 'tcp'], ['IP Address 2 ', 'udp'], ['IP Address 3', 'udp'], ['IP Address 3', 'tcp']]
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/375918.html
上一篇:只有墻壁可碰撞;蟒蛇文字游戲
