Python在方括号中拆分输出

Python在方括号中拆分输出,python,string,expression,Python,String,Expression,我有如下代码: import re activity = "Basketball - Girls 9th" activity = re.sub(r'\s', ' ', activity).split('-') activity = str(activity [1:2]) + str(activity [0:1]) print("".join(activity)) 我希望输出看起来像女孩的第九个篮球,但打印时的当前输出是 ['Girls 9th']['Basketball'] 我想去掉方括号。我

我有如下代码:

import re
activity = "Basketball - Girls 9th"
activity = re.sub(r'\s', ' ', activity).split('-')
activity = str(activity [1:2]) + str(activity [0:1])
print("".join(activity))
我希望输出看起来像女孩的第九个篮球,但打印时的当前输出是
['Girls 9th']['Basketball']

我想去掉方括号。我知道我可以简单地修剪它,但我宁愿知道如何正确地修剪

您正在严格筛选列表,这与使用
print(someList)
相同-它是一个列表的表示形式,将[]放在其周围

import re
activity = "Basketball - Girls 9th"
activity = re.sub(r'\s', ' ', activity).split('-')
activity =  activity [1:2]  + [" "] +  activity [0:1] # reorders and reassignes list

print("".join(activity))
您可以考虑添加一个步骤:

# remove empty list items and remove trailing/leading strings
cleaned = [x.strip() for x in activity if x.strip() != ""]

print(" ".join(cleaned)) # put a space between each list item

这只是引用列表,并在列表之间添加所需的空格项,以便输出适合的内容。

您就快到了。在
列表上使用
.join
时,它会创建一个
字符串
,因此您可以省略该步骤

import re
activity = "Basketball - Girls 9th"
activity = re.sub(r'\s', ' ', activity).split('-')
activity = activity[1:2] + activity[0:1]
print(" ".join(activity))

您可以在一行中解决它:

new_activity = ' '.join(activity.split(' - ')[::-1])

您可以尝试以下方法:

import re
activity = "Basketball - Girls 9th"
activity = re.sub(r'\s', ' ', activity).split('-')
activity = str(activity [1:2][0]).strip() + ' ' + str(activity [0:1][0])
print(activity)
输出:

Girls 9th Basketball