列表需要转换为字符串并执行字符串操作,
有没有一种有效的方法可以将这两个操作都转换为 1,
lista = ['col-1,','col-2,','col-3,']
stra = ' '.join(lista)
stra = stra.rstrip(',')
怎么样', '.join(['col-1', 'col-2', 'col-3'])
?那你根本不需要rstrip
。
所有字符串方法都返回新字符串。
stra = " ".join(s.rstrip(",") for s in lista)
或者,如果您只想修剪最后一个逗号,只需" ".join(lista).rstrip(",")
.
由于该join()
方法返回一个字符串,因此您可以链接方法:
stra = ' '.join(lista).rstrip(',') # prints col-1, col-2, col-3
或者,如果你想在加入字符串之前去掉逗号(因为你在每个字符串的末尾都有逗号,我假设你想要这样做):
stra = ' '.join(map(lambda s: s.rstrip(','), lista)) # prints col-1 col-2 col-3
或者:
stra = ' '.join(s.rstrip(',') for s in lista) # prints col-1 col-2 col-3
我不完全确定“将两个操作都转换为 1”是什么意思,但是如果您对 lista 没有任何控制权,并且可以依赖它采用指定的格式,那么只需执行
' '.join(lista)[:-1]
如果您确实可以控制 lista,请按照nneonneo 的建议删除列表中的逗号。
由于您join
返回一个字符串..因此,您可以链接另一个方法调用,而不是存储它...
stra = ' '.join(Lista).rstrip(',')
或者,你可以这样做更好: -
stra = ' '.join(s.rstrip(',') for s in lista)
这不会在您的列表项之间打印逗号(,)..