拆分字符串>单词和字符的子列表列表

时间:2016-10-06 08:26:15

标签: python python-2.7

不允许进口(这是学校作业)。

希望将随机字符串拆分为子列表列表。子列表中的单词,所有其他字符(包括空格)将位于仅包含一个项目的子列表中。任何人都有关于如何做到这一点的建议;

{{1}}

3 个答案:

答案 0 :(得分:0)

这就是诀窍:

globalList = []
letters = "abcdefghijklmnopqrstuvwxyz"
message = "Hi! Goodmorning, I'm fine."
sublist = []
for char in message:
    #if the character is in the list of letters, append it to the current substring
    if char.lower() in letters:
        sublist.append(char)
    else:
        #add the previous sublist (aka word) to globalList, if it is not empty
        if sublist: 
            globalList.append(sublist)
        #adds the single non-letter character to the globalList
        globalList.append([char])
        #initiates a fresh new sublist
        sublist = []
print(globalList)
#output is [['H', 'i'], ['!'], [' '], ['G', 'o', 'o', 'd', 'm', 'o', 'r', 'n', 'i', 'n', 'g'], [','], [' '], ['I'], ["'"], ['m'], [' '], ['f', 'i', 'n', 'e'], ['.']]

答案 1 :(得分:0)

试试这个:

part = "Hi! Goodmorning, I'm fine."
n = part.count(" ")
part = part.split()
k = 0
# Add spaces to the list
for i in range(1,n+1):
    part.insert(i+k, "_")
    k += 1
new = [] # list to return
for s in part:
    new.append([letter for letter in s])

答案 2 :(得分:0)

part = "Hi! Goodmorning, I'm fine."
a = []
b = []
c = 0
for i in part:
    if i.isalpha():
        if c == 1:
            a.append(b)
            b=[]
            b.append(i)
            c = 0
        else:
            b.append(i)
    else:
        a.append(b)
        b=[]
        b.append(i)
        c = 1
a.append(b)
print a