[英]How to split list elements to a line separated by space
我在python中有一個列表為:
values = ['Maths\n', 'English\n', 'Hindi\n', 'Science\n', 'Physical_Edu\n', 'Accounts\n', '\n']
print("".join(values))
我希望輸出應為:-
Subjects: Maths English Hindi Science Physical_Edu Accounts
我是Python的新手,我使用過join()方法,但無法獲得預期的輸出。
您可以將str.strip
函數映射到列表中的每個元素,然后將它們加入。
values = ['Maths\n', 'English\n', 'Hindi\n', 'Science\n', 'Physical_Edu\n', 'Accounts\n', '\n']
print("Subjects:", " ".join(map(str.strip, values)))
使用正則表達式方法:
import re
lst = ['Maths\n', 'English\n', 'Hindi\n', 'Science\n', 'Physical_Edu\n', 'Accounts\n', '\n']
rx = re.compile(r'.*')
print("Subjects: {}".format(" ".join(match.group(0) for item in lst for match in [rx.match(item)])))
# Subjects: Maths English Hindi Science Physical_Edu Accounts
但是最好像其他答案中那樣使用strip()
(甚至更好: rstrip()
):
string = "Subjects: {}".format(" ".join(map(str.rstrip, lst)))
print(string)
您可以做的是使用此示例剝離換行符,並使用以下命令將它們合並:
joined_string = " ".join(stripped_array)
strip()
字符串的每個元素,然后join()
之間有一個space
。
a = ['Maths\n', 'English\n', 'Hindi\n', 'Science\n', 'Physical_Edu\n', 'Accounts\n', '\n']
print("Subjects: " +" ".join(map(lambda x:x.strip(), a)))
輸出:
Subjects: Maths English Hindi Science Physical_Edu Accounts
正如@miindlek所指出的,通過使用map(str.strip, a)
代替map(lambda x:x.strip(), a))
,您也可以實現相同的操作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.