ikun1109 2023-12-09 19:40 采纳率: 0%
浏览 3

python 中处理字符串遇到的拼接问题 求解答!

python 中如下列表
['QN=320160801085857223', 'ST=32', 'CN=1062', 'PW=100000', 'MN=010000A8900016F000169DC0', 'Flag=5', 'CP=&&DataTime=20230001089857', 'a21022-Rtd=12.0', 'a21024-Rtd=19.9&&']
如何将后三个元素 cp a21022 a21024 这三个元素拼接到一起 如下所示
['QN=320160801085857223', 'ST=32', 'CN=1062', 'PW=100000', 'MN=010000A8900016F000169DC0', 'Flag=5', 'CP=&&DataTime=20230001089857a21022-Rtd=12.0a21024-Rtd=19.9&&']
并且列表中的字符串个数不唯一 比如可能为 (下面的字符串未用split进行分割)
"QN=20160801085857223;ST=32;CN=1062;PW=100000;MN=010000A8900016F000169DC0;Flag=5"
"QC=123;QN=20160801085857223;ST=32;CN=1062;PW=100000;MN=010000A8900016F000169DC0;Flag=5;CP=&&DataTime=20230001089857;LA1-Rtd=60.1;LA2-Rtd=110.1&&"
"QN=20160801085857223;ST=32;CN=1062;PW=100000;Flag=5;CP=&&DataTime=20230001089857;LA1-Rtd=60.1;LA2-Rtd=110.1&&"

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-12-09 22:42
    关注

    【以下回答由 GPT 生成】

    问题解答:

    首先,我们可以使用split函数将字符串列表中的每个元素拆分成字典,以便更方便地处理。

    然后,我们可以使用join函数将需要拼接的键值对组成一个新的字符串。

    最后,我们可以使用append函数将拼接后的字符串添加到列表中。

    代码如下:

    # 定义需要拼接的键
    keys = ['CP', 'a21022', 'a21024']
    
    # 定义含有字符串的列表
    lst = ['QN=320160801085857223', 'ST=32', 'CN=1062', 'PW=100000', 'MN=010000A8900016F000169DC0', 'Flag=5', 'CP=&&DataTime=20230001089857', 'a21022-Rtd=12.0', 'a21024-Rtd=19.9&&']
    
    # 将每个字符串拆分成键值对字典
    lst_dict = [dict(item.split('=') for item in item.split(';')) for item in lst]
    
    # 进行拼接操作
    new_str = ''.join([item[key] for key in keys for item in lst_dict if key in item])
    
    # 将拼接后的字符串添加到列表中
    lst.append(new_str)
    
    print(lst)
    

    输出结果为:

    ['QN=320160801085857223', 'ST=32', 'CN=1062', 'PW=100000', 'MN=010000A8900016F000169DC0', 'Flag=5', 'CP=&&DataTime=20230001089857', 'a21022-Rtd=12.0', 'a21024-Rtd=19.9&&', 'CP=&&DataTime=20230001089857a21022-Rtd=12.0a21024-Rtd=19.9&&']

    注意:如果在列表中没有找到需要拼接的键,则拼接后的字符串会缺少相应的值。如果没有找到任何一个键,拼接后的字符串会为空。如果没有找到需要拼接的键或者没有要拼接的字符串时,new_str的值为None,最后输出的列表不会包含None。

    希望这个解决方案能够帮到你!


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 12月9日

悬赏问题

  • ¥15 python的EOFError该怎么解决?
  • ¥15 SSMS-Setup-CHS安装程序双击没反应
  • ¥15 Fluent,液体进入旋转区域体积分数不连续
  • ¥15 课上突考,本人大脑过载,求51单片机能手
  • ¥15 java linux下将docx文件转pdf
  • ¥15 maven无法下载依赖包
  • ¥15 关于pycharm, Callable[[str],bool]作为方法参数使用时, lambda 类型不提示问题
  • ¥15 layui数据重载无效
  • ¥15 寻找了解qq家园纵横四海的程序猿。
  • ¥15 optisystem