2017-04-26 476 views

回答

0

你可以做到以下幾點:

myArray = [[v.strip() for v in x] for x in myArray] 

這將刪除所有的格式字符。

如果你不希望每個字符在自己的數組,你可以再做:

myArray = [v[0] for v in myArray] 

要打印,然後選擇 '打印(',」。加入(myarray的))

1

您正在爲您的結果添加listsplit返回列表)。此外,爲分割字符指定「空格」並不是最佳選擇,因爲它不會刪除換行符,回車符,創建空元素的雙空格。

你可以這樣使用列表理解,分裂沒有論證的項目(所以\n自然消失)

with open("file.txt") as lines: 
    myArray = [x for line in lines for x in line.split()] 

(注意with塊,文件一旦退出關閉做,和雙循環到「變平」列表的列表轉換成一個單一的列表:可以處理在一個線多於1種元素)

然後,無論是在打印陣列的表示

print (myArray) 

獲得:

['a', 'b', 'c', 'd'] 

,或者你使用逗號+空格

print(", ".join(myArray)) 

結果生成一個加入字符串:

a, b, c, d 
0

看來你應該使用帶()(TRIM空格)而不是split()(它會生成一串字符串的列表。

myArray.append(line.strip()) 

然後選擇 '打印(myarray的)' 將產生:

['a', 'b', 'c', 'd'] 

要打印 'A,B,C,d' 你可以使用join()方法:

print(', '.join(myArray)) 
0

你可以嘗試類似:

import re 
arr = [['a\n'], ['b\n'], ['c\n'], ['d']] 
arr = (", ".join(repr(e) for e in arr)) 
arr = arr.replace('\\n', '') 
new = re.sub(r'[^a-zA-Z0-9,]+', '', arr) 
print(new) 

結果:

a,b,c,d