114

python中是否有将单词拆分为单个字母列表的功能?例如:

s="Word to Split"

要得到

wordlist=['W','o','r','d','','t','o' ....]
4

7 回答 7

251
>>> list("Word to Split")
['W', 'o', 'r', 'd', ' ', 't', 'o', ' ', 'S', 'p', 'l', 'i', 't']
于 2008-09-22T07:42:15.607 回答
24

最简单的方法可能只是使用list(),但至少还有一个其他选项:

s = "Word to Split"
wordlist = list(s)               # option 1, 
wordlist = [ch for ch in s]      # option 2, list comprehension.

他们都应该你你需要的东西:

['W','o','r','d',' ','t','o',' ','S','p','l','i','t']

如前所述,对于您的示例,第一个可能是最可取的,但有些用例可能使后者对于更复杂的东西非常方便,例如,如果您想对项目应用一些任意函数,例如:

[doSomethingWith(ch) for ch in s]
于 2008-09-22T07:46:45.177 回答
10

列表函数将执行此操作

>>> list('foo')
['f', 'o', 'o']
于 2008-09-22T07:47:20.743 回答
4

滥用规则,结果相同:(x for x in 'Word to split')

实际上是一个迭代器,而不是一个列表。但很可能你不会真正关心。

于 2008-09-22T14:36:35.987 回答
1
text = "just trying out"

word_list = []

for i in range(0, len(text)):
    word_list.append(text[i])
    i+=1

print(word_list)

['j', 'u', 's', 't', ' ', 't', 'r', 'y', 'i', 'n', 'g', ' ', 'o', 'u', 't']
于 2019-03-11T10:58:07.163 回答
1

最简单的选择是只使用 list() 命令。但是,如果您不想使用它或者由于某些集市原因它不起作用,您可以随时使用此方法。

word = 'foo'
splitWord = []

for letter in word:
    splitWord.append(letter)

print(splitWord) #prints ['f', 'o', 'o']
于 2020-07-14T12:52:54.863 回答
0

def count(): list = 'oixfjhibokxnjfklmhjpxesriktglanwekgfvnk'

word_list = []
# dict = {}
for i in range(len(list)):
    word_list.append(list[i])
# word_list1 = sorted(word_list)
for i in range(len(word_list) - 1, 0, -1):
    for j in range(i):
        if word_list[j] > word_list[j + 1]:
            temp = word_list[j]
            word_list[j] = word_list[j + 1]
            word_list[j + 1] = temp
print("final count of arrival of each letter is : \n", dict(map(lambda x: (x, word_list.count(x)), word_list)))
于 2019-10-26T09:06:38.150 回答