2016-10-06 28 views
-4

インポートは許可されていません(学校の割り当てです)。分割文字列>単語と文字のサブリストのリスト

ランダムな文字列をサブリストのリストに分割することを願います。サブリスト内の単語、空白を含む他のすべての文字は、1つの項目のみを含むサブリストに含まれます。誰もがこれを行う方法についていくつかのアドバイスを持っています。

part = "Hi! Goodmorning, I'm fine." 
list = [[H,i],[!],[_],[G,o,o,d,m,o,r,n,i,n,g],[,],[_],[I],['],[m],[_],[f,i,n,e],[.]] 
+0

あなたのリストは引用符のかなり多くが欠落しています。 – Efferalgan

答えて

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'], ['.']] 
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]) 
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