【问题标题】:Converting a string to list through python通过python将字符串转换为列表
【发布时间】:2023-01-02 23:02:01
【问题描述】:

字符串值

value = "[new=user,pass=h[]@,repalce=que]"

我需要输出作为列表

list = [ "new=user","pass=h[]@","repalce=que" ]

  

I am new to python just want to know how to deal with these type convertions

【问题讨论】:

标签: python python-3.x string list pycharm


【解决方案1】:

您可以按如下方式使用拆分方法:

value = "[new=user,pass=h[]@,repalce=que]"

splitList = value.split(",")

print(splitList)

split 方法将要拆分句子的字符作为参数。

【讨论】:

  • 你得到额外的引号['[new=user', 'pass=h[]@', 'repalce=que]']你必须去掉那个引号
【解决方案2】:

在这种特殊情况下,您可以通过以下命令执行此操作

value_list = value[1:-1].split(',')

这样,您将首先去掉括号(第一个和最后一个字符),然后用逗号分隔。我认为没有更优雅的方法,因为这是一种相当罕见的情况。我建议以正确的格式将列表加载为列表或其他变量,并避免更改类型。

【讨论】:

  • 谢谢你!它起作用了,但是如果 value 有一个额外的 ',' 怎么办?像 value = "[new=user,pass=h[],@,replace=cue]"
【解决方案3】:

你可以使用str.split

value = "[new=user,pass=h[]@,repalce=que]"
result = value.split(',')

请注意 list 是一种类型。我建议不要将它用作变量名。

【讨论】:

  • 谢谢!它起作用了,但是如果 value 有一个额外的 ',' 怎么办?像 value = "[new=user,pass=h[],@,repalce=que]"
【解决方案4】:

您可以使用这样的列表理解来做到这一点:

value = "[new=user,pass=h[]@,repalce=que]"

new_value = [t.replace('pass', 'test') for t in value[1:-1].split(',')]

print(new_value)

输出:

['new=user', 'test=h[]@', 'repalce=que']

笔记:

这个只要适用于这种特殊情况。

此外,这里没有“类型转换”

【讨论】:

    【解决方案5】:

    清理字符串然后通过 string.split() 将字符串转换为列表

    value = "[new=user,pass=h[]@,repalce=que]"
    value = value [1:-1].split(",")
    print(value)
    

    输出 #

    ['new=user', 'pass=h[]@', 'repalce=que']
    

    【讨论】:

    • 谢谢你!它起作用了,但是如果 value 有一个额外的 ',' 怎么办?像 value = "[new=user,pass=h[],@,replace=cue]"
    猜你喜欢
    • 2015-04-14
    • 2016-11-09
    • 1970-01-01
    • 2023-03-16
    • 2017-11-15
    • 1970-01-01
    • 2014-08-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多