Python | 将字符串转换为列表的7种方法

在本文中,我们将尝试将给定的字符串转换为列表,其中根据用户的选择,遇到空格或任何其他特殊字符。为此,我们在string中使用split()方法。

例如:

输入: “Geeks for Geeks”
输出: [‘Geeks’, ‘for’, ‘Geeks’]

1. 使用list()方法

列表是Python中内置的数据类型。它通常用于存储项目或项目集合,我们可以用它将字符串转换为列表。

s = "abcd"
x = list(s)
print(x)

输出

['a', 'b', 'c', 'd']

2. 使用列表解析

s="abcd"
x=[i for i in s]
print(x)

输出

['a', 'b', 'c', 'd']

3. 使用split()方法

split方法用于拆分字符串并将其存储在列表中。内置方法返回字符串中的单词列表,使用“分隔符”作为分隔符字符串。如果未指定分隔符或分隔符为None,则应用不同的拆分算法:连续空格的运行被视为单个分隔符,并且如果字符串具有前导或尾随空格,则结果在开始或结束处将不包含空字符串。

def Convert(string):
    li = list(string.split(" "))
    return li
 
 
# Driver code
str1 = "Geeks for Geeks"
print(Convert(str1))

输出

['Geeks', 'for', 'Geeks']
def Convert(string):
    li = list(string.split("-"))
    return li
 
 
# Driver code
str1 = "Geeks-for-Geeks"
print(Convert(str1))

输出

['Geeks', 'for', 'Geeks']

4. 使用字符串切片

def Convert(string):
    list1 = []
    list1[:0] = string
    return list1
 
 
# Driver code
str1 = "ABCD"
print(Convert(str1))

输出

['A', 'B', 'C', 'D']

5. 使用enumerate方法

s="abcd"
x=[i for a,i in enumerate(s) ]
print(x)

输出

['a', 'b', 'c', 'd']

6. 使用JSON模块

import json
 
stringA = '["geeks", 2,"for", 4, "geeks",3]'
 
# Type check
 
res = json.loads(stringA)
# Result
print("The converted list : \n",res)

输出

The converted list : 
 ['geeks', 2, 'for', 4, 'geeks', 3]

7. 使用ast.literal

在Python中,有个ast模块,它有一个litera_eval方法,我们也可以通过它来进行转换。

import ast
 
# initializing string representation of a list
ini_list = '["geeks", 2,"for", 4, "geeks",3]'
 
 
# Converting string to list
res = ast.literal_eval(ini_list)
 
# printing final result and its type
print(res)
print(type(res))

输出

['geeks', 2, 'for', 4, 'geeks', 3]
<class 'list'>

你可能感兴趣的:(python,python)