将列表分成两个具有相似元素的子列表

问题描述 投票:1回答:2

我将列表称为main_list,因为有些元素需要划分为具有pft('MM19 ZA VDD VNW'pft'vr \ n')和nft('MM8 ZA VSS VPW'nft'cpp = 8 \ n')

main_list = ['MM19 Z A VDD VNW pft vr\n', 'MM18 Z A VDD VNW pft va\n', 'MM17 Z A VDD VNW pft vdd\n', 'MM16 Z A VDD VNW pft ver\n', 'MM15 Z A VDD VNW pft ger\n', 'MM14 Z A VDD VNW pft fer\n', 'MM13 Z A VDD VNW pft weq\n', 'MM12 Z A VDD VNW pft get\n', 'MM11 Z A VDD VNW pft bet\n', 'MM10 Z A VDD VNW pft wet \n', 'MM9 Z A VSS VPW nft ent=0\n', 'MM8 Z A VSS VPW nft cpp=8\n', 'MM7 Z A VSS VPW nft fpitch\n', 'MM6 Z A VSS VPW nft ngcon\n', 'MM4 Z A VSS VPW nft nfin=4\n', 'MM3 Z A VSS VPW nft cpp=8\n', 'MM2 Z A VSS VPW nft ent=0\n', 'MM1 Z A VSS VPW nft l=1.4e-08\n', 'MM0 Z A VSS VPW nft cpp=8\n']

结果:

pft_list = ['MM19 Z A VDD VNW pft vr\n', 'MM18 Z A VDD VNW pft va\n', 'MM17 Z A VDD VNW pft vdd\n', 'MM16 Z A VDD VNW pft ver\n', 'MM15 Z A VDD VNW pft ger\n', 'MM14 Z A VDD VNW pft fer\n', 'MM13 Z A VDD VNW pft weq\n', 'MM12 Z A VDD VNW pft get\n', 'MM11 Z A VDD VNW pft bet\n', 'MM10 Z A VDD VNW pft wet \n']
nft_list = ['MM9 Z A VSS VPW nft ent=0\n', 'MM8 Z A VSS VPW nft cpp=8\n', 'MM7 Z A VSS VPW nft fpitch\n', 'MM6 Z A VSS VPW nft ngcon\n', 'MM4 Z A VSS VPW nft nfin=4\n', 'MM3 Z A VSS VPW nft cpp=8\n', 'MM2 Z A VSS VPW nft ent=0\n', 'MM1 Z A VSS VPW nft l=1.4e-08\n', 'MM0 Z A VSS VPW nft cpp=8\n']
python
2个回答
0
投票

使用列表迭代:

pft_list = [i for i in main_list if 'pft' in i]
nft_list = [i for i in main_list if 'nft' in i]

1
投票

您可以遍历main_list,并通过检查pftnft是否为in条目将条目分类到子列表中:

pft_list = []
nft_list = []
for x in main_list:
    if 'pft' in x:
        pft_list.append(x)
    elif 'nft' in x:
        nft_list.append(x)
© www.soinside.com 2019 - 2024. All rights reserved.