为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

缥缈止盈 2022-04-23 21:06:43
我的 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"]]如果有更好的方法来拆分和重组它们,请随时提出您的解决方案。
查看完整描述

2 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

您可以尝试使用字典:


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'}]


查看完整回答
反对 回复 2022-04-23
?
慕少森

TA贡献2019条经验 获得超9个赞

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']]


查看完整回答
反对 回复 2022-04-23
  • 2 回答
  • 0 关注
  • 122 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信