簡體   English   中英

打印/輸出時如何從列表中刪除方括號

[英]How to remove the square brackets from a list when it is printed/output

我有一段代碼可以完成我需要做的所有事情,現在我使它看起來更好並得到了完善。 打印結果時,我發現語句中的列表在方括號中,並且似乎無法刪除它們。

您可以使用map()將數字轉換為字符串,並使用" ".join()", ".join()將它們放在同一字符串中:

mylist = [4, 5]
print(" ".join(map(str, mylist)))
#4 5
print(", ".join(map(str, mylist)))
#4, 5

您還可以利用print()函數:

mylist = [4, 5]
print(*mylist)
#4 5
print(*mylist, sep=", ")
#4, 5

注意:在Python2中,這是行不通的,因為print是一個語句,而不是一個函數。 您可以將from __future__ import print_function放在文件的開頭,也可以使用import __builtin__; getattr(__builtin__, 'print')(*mylist) from __future__ import print_function import __builtin__; getattr(__builtin__, 'print')(*mylist)

如果print是一個函數(在Python 3中是默認值),則可以使用* 解壓縮列表:

>>> L = [3, 5]
>>> from __future__ import print_function
>>> print(*L)
3 5

您可以將其轉換為字符串,而不是直接打印列表:

print(", ".join(LIST))

如果列表中的元素不是字符串,則可以使用repr()或str()將它們轉換為字符串:

LIST = [1, "printing", 3.5, { "without": "brackets" }]
print( ", ".join( repr(e) for e in LIST ) )

給出輸出:

1, 'printing', 3.5, {'without': 'brackets'}

您可以這樣做:

separator = ','
print separator.join(str(element) for element in myList) 

為什么不使用for循環一個接一個地顯示列表中的元素,而不是像這樣一次顯示整個列表:

# l - list
for i in range(0, len(l)):
    print l[i],

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM