Python中的字符串转列表
到目前为止,我们已经讨论了Python中的各种类型转换。在本教程中,我们将学习另一种转换方法,即将字符串转换为列表。
我们将使用以下方法来实现我们的目标-
- 使用 split()
- 使用带有分隔符的 split()
- 使用 strip()
- 使用 map()
让我们逐个讨论每一种方法。
在第一个程序中,我们将使用 split() 将字符串转换为Python中的列表。
使用split()
下面的程序示例了如何完成此操作。
# Initialising the string values
str_val1 = "Let us study programming."
str_val2 = "But before that it is essential to have a basic knowledge of computers."
str_val3 = "So first study what is IPO cycle."
str_val4 = "Then learn about the generation of computers."
#using split()
print(str_val1.split())
print(str_val2.split())
print(str_val3.split())
print(str_val4.split())
输出:
['Let', 'us', 'study', 'programming.']
['But', 'before', 'that', 'it', 'is', 'essential', 'to', 'have', 'a', 'basic', 'knowledge', 'of', 'computers.']
['So', 'first', 'study', 'what', 'is', 'IPO', 'cycle.']
['Then', 'learn', 'about', 'the', 'generation', 'of', 'computers.']
解释-
- 在步骤1中,我们初始化了四个我们想要转换的字符串。
- 在此之后,我们使用split()函数,以便获得一个列表,其中每个单词都表示列表的一个元素。
在第二个程序中,我们在split()中指定了一个分隔符。
使用带分隔符的split()函数
考虑给定的程序,
# Initializing the string values
str_val1="Let @ us @ study @ programming."
str_val2="But # before # that # it # is # essential # to # have # a # basic # knowledge # of # computers."
str_val3="So first study what is IPO cycle."
str_val4="Then % learn % about % the % generation % of % computers."
# Using split()
print(str_val1.split("@"))
print(str_val2.split("#"))
print(str_val3.split("$"))
print(str_val4.split("%"))
输出:
['Let ', ' us ', ' study ', ' programming.']
['But ', ' before ', ' that ', ' it ', ' is ', ' essential ', ' to ', ' have ', ' a ', ' basic ', ' knowledge ', ' of ', ' computers.']
['So ', ' first ', ' study ', ' what ', ' is ', ' IPO ', ' cycle.']
['Then ', ' learn ', ' about ', ' the ', ' generation ', ' of ', ' computers.']
解释-
这种方法与之前的程序类似,唯一的区别是在出现分隔符时,它会提取列表中的元素。
在这个程序中,字符串中的分隔符是@, #, $ & %。
现在,让我们看看如何使用strip()。
使用strip()
以下程序演示了相同的程序-
# Initialising the string values
str_val1 = "Let us study programming."
str_val2 = "But before that it is essential to have a basic knowledge of computers."
# Using list()
print(list(str_val1.strip()))
print(list(str_val2.strip()))
输出:
['L', 'e', 't', ' ', 'u', 's', ' ', 's', 't', 'u', 'd', 'y', ' ', 'p', 'r', 'o', 'g', 'r', 'a', 'm', 'm', 'i', 'n', 'g', '.']
['B', 'u', 't', ' ', 'b', 'e', 'f', 'o', 'r', 'e', ' ', 't', 'h', 'a', 't', ' ', 'i', 't', ' ', 'i', 's', ' ', 'e', 's', 's', 'e', 'n', 't', 'i', 'a', 'l', ' ', 't', 'o', ' ', 'h', 'a', 'v', 'e', ' ', 'a', ' ', 'b', 'a', 's', 'i', 'c', ' ', 'k', 'n', 'o', 'w', 'l', 'e', 'd', 'g', 'e', ' ', 'o', 'f', ' ', 'c', 'o', 'm', 'p', 'u', 't', 'e', 'r', 's', '.']
说明-
- 在步骤1中,我们已经初始化了两个要转换的字符串。
- 然后,我们使用了strip(),以便获得一个列表,其中字符串的每个字符代表列表中的一个元素。
使用map()将字符串转换为列表的列表
# Initializing the string values
str_val1="Let us study programming."
str_val2="But before that it is essential to have a basic knowledge of computers."
#using split()
str_val1 = str_val1.split()
str_val2 = str_val2.split()
list_str1 = list(map(list,str_val1))
list_str2 = list(map(list,str_val2))
#displaying the list values
print(list_str1)
print(list_str2)
输出:
[['L', 'e', 't'], ['u', 's'], ['s', 't', 'u', 'd', 'y'], ['p', 'r', 'o', 'g', 'r', 'a', 'm', 'm', 'i', 'n', 'g', '.']]
[['B', 'u', 't'], ['b', 'e', 'f', 'o', 'r', 'e'], ['t', 'h', 'a', 't'], ['i', 't'], ['i', 's'], ['e', 's', 's', 'e', 'n', 't', 'i', 'a', 'l'], ['t', 'o'], ['h', 'a', 'v', 'e'], ['a'], ['b', 'a', 's', 'i', 'c'], ['k', 'n', 'o', 'w', 'l', 'e', 'd', 'g', 'e'], ['o', 'f'], ['c', 'o', 'm', 'p', 'u', 't', 'e', 'r', 's', '.']]
解释-
- 在步骤1中,我们初始化了两个要转换的字符串。
- 然后,我们使用split()方法后跟map()方法,以便为字符串的每个元素映射列表功能。
- 在执行给定程序时,显示所需的输出。
最后,在最后一个程序中,我们使用整数字符串,
转换整数字符串
考虑下面给出的程序,
#initialising the string values
str_val1 = "1 2 3 4 5 6 7 8 9"
str_val2 = "12 21 32 44 54 76 83"
#using split()
str_val1 = str_val1.split()
str_val2 = str_val2.split()
list_str1 = list(map(int,str_val1))
list_str2 = list(map(int,str_val2))
#displaying the list values
print(list_str1)
print(list_str2)
输出:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[12, 21, 32, 44, 54, 76, 83]
解释-
该逻辑与上述程序类似,但这里我们传递了一个整数字符串,并在所有元素上应用了’int’功能。
结论
在本教程中,我们学习了将字符串转换为列表的简单技巧。