Python3:动态拆分多个变量
Python3: Split multiple variables dynamically
我正在尝试拆分在 for 循环中动态创建的多个变量,然后删除第一个 space 之后的所有内容。
次要背景故事:我正在使用 paramiko 通过 SSH 连接到网络交换机以获取 VLAN 信息。尝试为每个 VLAN 名称创建一个新变量,然后将所有变量呈现回列表中,供用户 select 来自。
#VLANLines## were split from VLANList off \r\n. Variables created form a for loop
VLANLine1 = 'GGGGGGGGG 5 5/7'
VLANLine2 = 'HHHH 66 22/23'
VLANLine3 = 'SSSSSSS 33 3/4'
#HHHH and SSSSSS are random names I put in place for this question. This is the data I need to keep.
#Length of VLANList = 14 in this demo
i = 0
while i < len(VLANList):
VLANLine[i].split(" ")
del VLAN[i][1:]
以下错误
Traceback (most recent call last):
File "<pyshell#16>", line 2, in <module>
VLANLine[i].split(" ")
IndexError: string index out of range
如何动态拆分 'VLANLine##' 然后删除 space 之后的所有内容?我也可能做错了。我几周前才开始使用 python。
这可能对你有用。
VLAN_clean = [v[0:v.find(' ')] for v in VLANList if v.find(' ') != -1]
str.split
干干净净地做你需要的:
VLANList = [
'GGGGGGGGG 5 5/7',
'HHHH 66 22/23',
'SSSSSSS 33 3/4',
]
VLAN_Clean = [v.split()[0] for v in VLANList]
print(VLAN_Clean)
输出:
['GGGGGGGGG', 'HHHH', 'SSSSSSS']
split
将在第一个 space 字符处拆分每个字符串,returning 一个值元组。如果没有空格,它将只是 return 一个包含整个字符串的长度为 1 的元组。因此,运行 拆分每个项目,然后从生成的元组中选择第一个项目给你正确的东西。
我正在尝试拆分在 for 循环中动态创建的多个变量,然后删除第一个 space 之后的所有内容。
次要背景故事:我正在使用 paramiko 通过 SSH 连接到网络交换机以获取 VLAN 信息。尝试为每个 VLAN 名称创建一个新变量,然后将所有变量呈现回列表中,供用户 select 来自。
#VLANLines## were split from VLANList off \r\n. Variables created form a for loop
VLANLine1 = 'GGGGGGGGG 5 5/7'
VLANLine2 = 'HHHH 66 22/23'
VLANLine3 = 'SSSSSSS 33 3/4'
#HHHH and SSSSSS are random names I put in place for this question. This is the data I need to keep.
#Length of VLANList = 14 in this demo
i = 0
while i < len(VLANList):
VLANLine[i].split(" ")
del VLAN[i][1:]
以下错误
Traceback (most recent call last):
File "<pyshell#16>", line 2, in <module>
VLANLine[i].split(" ")
IndexError: string index out of range
如何动态拆分 'VLANLine##' 然后删除 space 之后的所有内容?我也可能做错了。我几周前才开始使用 python。
这可能对你有用。
VLAN_clean = [v[0:v.find(' ')] for v in VLANList if v.find(' ') != -1]
str.split
干干净净地做你需要的:
VLANList = [
'GGGGGGGGG 5 5/7',
'HHHH 66 22/23',
'SSSSSSS 33 3/4',
]
VLAN_Clean = [v.split()[0] for v in VLANList]
print(VLAN_Clean)
输出:
['GGGGGGGGG', 'HHHH', 'SSSSSSS']
split
将在第一个 space 字符处拆分每个字符串,returning 一个值元组。如果没有空格,它将只是 return 一个包含整个字符串的长度为 1 的元组。因此,运行 拆分每个项目,然后从生成的元组中选择第一个项目给你正确的东西。