myArray = []
textFile = open("file.txt")
lines = textFile.readlines()
for line in lines:
myArray.append(line.split(" "))
print (myArray)
此代碼輸出Python從數組中刪除括號和字符串引號
[['a\n'], ['b\n'], ['c\n'], ['d']]
什麼會我需要做,使之輸出
a, b, c, d
myArray = []
textFile = open("file.txt")
lines = textFile.readlines()
for line in lines:
myArray.append(line.split(" "))
print (myArray)
此代碼輸出Python從數組中刪除括號和字符串引號
[['a\n'], ['b\n'], ['c\n'], ['d']]
什麼會我需要做,使之輸出
a, b, c, d
你可以做到以下幾點:
myArray = [[v.strip() for v in x] for x in myArray]
這將刪除所有的格式字符。
如果你不希望每個字符在自己的數組,你可以再做:
myArray = [v[0] for v in myArray]
要打印,然後選擇 '打印(',」。加入(myarray的))
您正在爲您的結果添加list
(split
返回列表)。此外,爲分割字符指定「空格」並不是最佳選擇,因爲它不會刪除換行符,回車符,創建空元素的雙空格。
你可以這樣使用列表理解,分裂沒有論證的項目(所以\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
看來你應該使用帶()(TRIM空格)而不是split()(它會生成一串字符串的列表。
myArray.append(line.strip())
然後選擇 '打印(myarray的)' 將產生:
['a', 'b', 'c', 'd']
要打印 'A,B,C,d' 你可以使用join()方法:
print(', '.join(myArray))
你可以嘗試類似:
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