如果我要加入的字符串超过一个字符,Python联接为什么就不能工作?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (58)

如果我要加入的字符串超过一个字符,则使用python联接语句有困难。

var_string = ', '.join('?' * len(field_split))
print(var_string)

获取此字符串(如果字段)。_Split是一个长度为25的列表。

Var - ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? 

我真正想要的是一个由25‘%s’组成的字符串

%s, %s, %s, %s, %s, .....

我想我可以把我的加入改为

var_string = ', '.join('%s' * len(field_split))

%, s, %, s, %, s, %, s, %, s, %, s, %, s, %, s, %, s, %, s, %, s, %, s, %, s, %, s, %, s, %, s, %, s, %, s, %, s, %, s, %, s, %, s, %, s, %, s, %, s

为什么连接会在每一个字母之后分拆我的文本并返回一个逗号?我认为这与特殊字符有关,但即使当我将问号改为ab时,也会将ab分开。我如何正确地取一个字符串,并在每个重复之后用逗号重复N次(最后一个除外)?

提问于
用户回答回答于

我认为连接更像是其他语言中的连接。

用户回答回答于

使用列表理解,这通常比*带有列表的运算符(并且在通常情况下,当你试图对可变参数的列表进行乘法时,会更安全;[[]] * 3[[] for _ in range(3)]

>>> ', '.join(['%s' for _ in range(3)])
'%s, %s, %s'

扫码关注云+社区

领取腾讯云代金券