通过python将字符串转换为列表

798qvoo8  于 2023-01-03  发布在  Python
关注(0)|答案(6)|浏览(179)

字符串值

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
u3r8eeie

u3r8eeie1#

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

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

splitList = value.split(",")

print(splitList)

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

5lhxktic

5lhxktic2#

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

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

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

8cdiaqws

8cdiaqws3#

可以使用字符串拆分

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

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

3gtaxfhh

3gtaxfhh4#

你可以使用如下的列表解析来实现:

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']
    • 注:**

适用于此特定情况。
此外,这里没有"类型转换

odopli94

odopli945#

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

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

输出编号

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

cotxawn76#

我假设[]@不应该被当作列表,所以这是我的解决方案,也许使用regex会更好,但无论如何。

value = "[new=user,pass=h[]@,repalce=que]"
def func(x):
    n=len(x)
    x=list(x)
    s=e=-1
    for i in range(0,n-2,1):
        if x[i]=='[' and x[i+1]!=']' and x[i+2]!='@':s=i
        if x[i]==']' and x[i-1]!='[' and x[i+1]!='@':e=i
    x[s]=x[e]=''
    x=''.join(x)
    x=x.split(',')
    return x
print(func(value))

相关问题