如何在一个单独的列表中拆分字符串中的每个单词

时间:2018-07-09 19:43:48

标签: python arrays string python-3.x

我将如何将字符串中的每个单词拆分为单独的字符串?例如,如果我有此代码

s = "It sure is a nice day today"
l = list(s)

这将返回['I', 't', ' ', 's', 'u', 'r', 'e', ' ', 'i', 's', ' ', 'a', ' ', 'n', 'i', 'c', 'e', ' ', 'd', 'a', 'y', ' ', 't', 'o', 'd', 'a', 'y'],我想让它返回单独的列表,如下所示:

['I', 't']
['s', 'u', 'r', 'e']
['i', 's']
['a']
['n', 'i', 'c', 'e']
['d', 'a', 'y']
['t', 'o', 'd', 'a', 'y']

如果可能的话,将它们存储在单独的列表中,而不是简单地打印它们。

3 个答案:

答案 0 :(得分:14)

这看起来像是列表的列表,因为您需要一些数据结构来存储这些子列表。

例如:

s = "It sure is a nice day today"
result = [list(si) for si in s.split()]

然后生成:

>>> result = [list(si) for si in s.split()]
>>> result
[['I', 't'], ['s', 'u', 'r', 'e'], ['i', 's'], ['a'], ['n', 'i', 'c', 'e'], ['d', 'a', 'y'], ['t', 'o', 'd', 'a', 'y']]

当然,您也可以将这些子列表存储在元组等中。但是,您必须以某种方式将它们包装到可以存储列表的集合中。

答案 1 :(得分:4)

基于map的版本,在其他方面无可挑剔的@WillemVanOnsem的答案:

list(map(list, s.split()))
#[['I', 't'], ['s', 'u', 'r', 'e'], ['i', 's'], ['a'], ['n', 'i', 'c', 'e'], ['d', 'a', 'y'], ['t', 'o', 'd', 'a', 'y']]

答案 2 :(得分:-1)

如果您尝试分割字符串,这是我通常的做法

   var S= "my name is sam",
   K= s.split (''),
   FirstLetter= k [0];