[英]Replace list brackets in Python 3.x
我有多個列表對象
例子:
data = [['id', 'host'], [1, '123']]
print(data)
Output:
[['id', 'host'], [1, '123']]
什么時候:
print(*data)
Output:
['id', 'host'] [1, '123']
什么時候:
print(*data, sep='\n')
或者
print('\n'.join(map(str, data)))
Output:
['id', 'host']
[1, '123']
如何在沒有括號和逗號的情況下制作這樣的 output:
id host
1 123
一個直接的 for 循環給出了你想要的 output:
data = [['id', 'host'], [1, '123']]
for d in data:
print(*d)
如果這種方法有問題,那么在您的問題中並不明顯。
如果您嘗試生成str
結果,您可以使用一對join
調用將內部元素轉換為str
然后用空格連接,然后用'\n'
連接這些行
data = [['id', 'host'], [1, '123']]
result = '\n'.join(' '.join(str(e) for e in d) for d in data)
您可以使用for 循環和str.join()
方法來執行此操作。
for sublist in data:
print(" ".join(sublist))
這僅在您專門使用字符串類型數據時才有效,但出於您的目的,請嘗試以下操作:
for sublist in data:
print(" ".join([str(element) for element in sublist]))
你可以這樣做:
print(*(f"{i:<4} {d}" for i,d in data),sep="\n")
id host
1 123
這個對我有用。 感謝瑞恩海寧。
print('\n'.join(', '.join(str(e) for e in d) for d in data))
我在加入之前添加了“,”,因為我需要將 output 記錄為 csv 格式。 如果沒有這個逗號,它將不會在 csv 表中格式化我的 output
如果您想在一行中完成所有操作,則可以將列表理解與以下內容一起使用:
print('\n'.join([' '.join((str(itr[0]), str(itr[1]))) for itr in data]))
另一個單行:
print(*[' '.join((str(itr[0]), str(itr[1]))) for itr in data], sep='\n')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.