python拆分和重新组合列表的字符串

我的 Python 列表中有一对元素作为子列表。完整列表如下所示:


L = [

      ["ImoduleB.pinN_in", "ImoduleC.pinO_out"], 

      ["ImoduleA.pinM_in", "ImoduleB.pinN_out"],

      ["ImoduleC.pinO_in", "ImoduleD.pinP_out"]

]

ImoduleA, ImoduleB, ImoduleC, ImoduleD我的实例名称和pinM_*, pinN_*, pinO_*, pinP_*引脚名称在哪里。


我有兴趣隔离实例名称以进行进一步处理,并且我计划在处理完成后将引脚名称附加回它们的实例。


L_instances = [

      ["ImoduleB", "ImoduleC"], 

      ["ImoduleA", "ImoduleB"],

      ["ImoduleC", "ImoduleD"]

]


L_pins = [

      ["pinN_in", "pinO_out"], 

      ["pinM_in", "pinN_out"],

      ["pinO_in", "pinP_out"]

]

需要注意的一件重要事情是......L_instances在处理过程中,元素将被重新排序。一个简单的例子是:


L_instances_processed = [

      ["ImoduleA", "ImoduleB"], # re-ordered

      ["ImoduleB", "ImoduleC"], # re-ordered

      ["ImoduleC", "ImoduleD"]

]  

问题是:如何将重新排序的实例及其引脚组合回原始字符串?我应该将子列表存储到字典中吗?不对引脚进行任何处理。


 L_combined = [

      ["ImoduleA.pinM_in", "ImoduleB.pinN_out"], 

      ["ImoduleB.pinN_in", "ImoduleC.pinO_out"],

      ["ImoduleC.pinO_in", "ImoduleD.pinP_out"]

]

如果有更好的方法来拆分和重组它们,请随时提出您的解决方案。


缥缈止盈
浏览 123回答 2
2回答

智慧大石

您可以尝试使用字典:L = [  ["ImoduleB.pinN_in", "ImoduleC.pinO_out"],  ["ImoduleA.pinM_in", "ImoduleB.pinN_out"],  ["ImoduleC.pinO_in", "ImoduleD.pinP_out"]]k = []for i in L:    d = {}    for j in i:        s = j.split(".")        d.update({s[0]:s[1]})    k.append(d)print(k)输出 :[{'ImoduleB': 'pinN_in', 'ImoduleC': 'pinO_out'},  {'ImoduleA': 'pinM_in', 'ImoduleB': 'pinN_out'},  {'ImoduleC': 'pinO_in', 'ImoduleD': 'pinP_out'}]

慕少森

L = [      ["ImoduleB.pinN_in", "ImoduleC.pinO_out"],       ["ImoduleA.pinM_in", "ImoduleB.pinN_out"],      ["ImoduleC.pinO_in", "ImoduleD.pinP_out"]] # split every item L_instances = [[i.split('.')[0] for i in x ]for x in L]# [['ImoduleB', 'ImoduleC'], ['ImoduleA', 'ImoduleB'], ['ImoduleC', 'ImoduleD']]L_pins= [[i.split('.')[1] for i in x ]for x in L]# [['pinN_in', 'pinO_out'], ['pinM_in', 'pinN_out'], ['pinO_in', 'pinP_out']]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python