遍历列表拆分字符串

2024-09-27 00:12:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个drawingnumbers列表,我正在尝试拆分这些字符串,然后附加到多个列表中。你知道吗

我希望最终得到一系列列表,其中包含原始字符串的每个相关部分。你知道吗

此时,我的定义正在遍历列表,但会覆盖变量,而不是附加它们。所以每个变量只有一个条目,它们对应于列表的最后一个条目。你知道吗

有人能帮忙吗?你知道吗

# drawingnumber split 

 drawingnumber = ["AAA601-XXX-A-L00-1028-DR-GA-200-001",
 "AAA601-XXX-A-L10-1028-DR-GA-200-001",
 "AAA601-XXX-A-L00-1029-DR-GA-200-001",
 "AAA601-XXX-A-L00-1029-DR-GA-200-XXX"]

 building = []  
 buildinglist = []  
 originator = []  
 discipline = []  
 level = []  
 scope = []  
 drawingtype = []  
 drawingsubtype = []  
 numbera = []  
 numberb = []

 for i in drawingnumber:  
    building, originator, discipline, level, scope, \
    drawingtype,drawingsubtype, numbera, numberb = i.split("-")

 print("building:", building)  
 print("originator: ", originator)  
 print("discipline: ", discipline)  
 print("level: ", level)  
 print("scope: ", scope)  
 print("drawingtype: ", drawingtype)  
 print("drawingsubtype", drawingsubtype)  
 print("drawingident", numbera, "-", numberb)  

Tags: 列表levelxxxscopeprintgabuildingdr
3条回答

只要改变

 for i in drawingnumber:  
    building, originator, discipline, level, scope,  drawingtype,drawingsubtype, numbera, numberb = i.split("-")

收件人:

 for i in drawingnumber:  
    building_, originator_, discipline_, level_, scope_,  drawingtype_,drawingsubtype_, numbera_, numberb_ = i.split("-")
    building.append(building_)
    originator.append(originator_)
    ...etc...

拆分的valeus重新定义你的变量,每次你想在这里做的基本上是把这些附加到你创建的列表中,也为列表选择复数名称,比如:建筑物,并附加单数变量到它们

drawingnumber = ["AAA601-XX1-A-L00-1028-DR-GA-200-001",
 "AAA602-XX2-A-L10-1028-DR-GA-200-001",
 "AAA603-XX3-A-L00-1029-DR-GA-200-001",
 "AAA604-XX4-A-L00-1029-DR-GA-200-XXX"]

building = []  
buildinglist = []  
originator = []  
discipline = []  
level = []  
scope = []  
drawingtype = []  
drawingsubtype = []  
numbera = []  
numberb = []

for i in drawingnumber:
    j = i.split('-')
    building.append(j[0])
    buildinglist.append(j[1])


for i in range(len(drawingnumber)):
    print("building:", building[i])
    print("buildinglist:", buildinglist[i])  

拆分列表中的每个元素后,可以使用zip将列表转置为:

zip(*[i.split("-") for i in drawingnumber])

并将其分配给列表名称:

building, originator, discipline, level, scope, \
drawingtype, drawingsubtype, numbera, numberb = zip(*[i.split("-") for i in drawingnumber])

输出示例:

building
# ('AAA601', 'AAA601', 'AAA601', 'AAA601')

originator
# ('XXX', 'XXX', 'XXX', 'XXX')

numberb
# ('001', '001', '001', 'XXX')

相关问题 更多 >

    热门问题