python中是不是有将单词拆分为列表的功能? [复制]

Posted

技术标签:

【中文标题】python中是不是有将单词拆分为列表的功能? [复制]【英文标题】:Is there a function in python to split a word into a list? [duplicate]python中是否有将单词拆分为列表的功能? [复制] 【发布时间】:2010-09-11 22:27:28 【问题描述】:

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

s="Word to Split"

得到

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

【问题讨论】:

只需查看此文档:docs.python.org/library/stdtypes.html 老线程,但值得一提的是:大多数时候你根本不需要这样做。 python字符串的字符可以直接作为列表访问,即。 s[2] 是“r”,s[:4] 是“Word”,len(s) 是 13。您也可以遍历它们:for char in s: print char @domoarrigato 但由于 srting 的不同行为和可变性列表可能是这样做的理由。 def show_letters(word): for ch in word: print(ch) show_letters("Hello") 【参考方案1】:
>>> list("Word to Split")
['W', 'o', 'r', 'd', ' ', 't', 'o', ' ', 'S', 'p', 'l', 'i', 't']

【讨论】:

任何你知道为什么 "Word to Split".split('') 不做同样事情的原因。它没有,但似乎确实应该这样做。 @Walter Nissen:尝试这样做时我得到“ValueError:空分隔符”。空的正则表达式的定义不是很好。 使用split()获取字符是否没有分隔符? split() 接受第二个参数 maxsplits,但没有与 list() 等效的参数。当然有变通办法...【参考方案2】:

最简单的方法可能就是使用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]

【讨论】:

【参考方案3】:

列表函数会这样做

>>> list('foo')
['f', 'o', 'o']

【讨论】:

【参考方案4】:

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

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

【讨论】:

当然,直接使用的'Word to split'也是自身字符的可迭代,所以生成器表达式只是无意义的包装。【参考方案5】:
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']

【讨论】:

【参考方案6】:

定义计数(): 列表 = '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)))

【讨论】:

【参考方案7】:

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

word = 'foo'
splitWord = []

for letter in word:
    splitWord.append(letter)

print(splitWord) #prints ['f', 'o', 'o']

【讨论】:

以上是关于python中是不是有将单词拆分为列表的功能? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何将字符串拆分为列表?

如何将一列中的单词拆分然后在Python中将单词整合在一起,即二维列表到一维列表?

python中split的用法分割的字符串怎么命名?

2021-10-15:单词拆分。给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你

是否有将值和错误转换为科学计数法的 python 模块?

将字符串拆分为单词和标点符号