将字符串结尾“\”添加到字符串列表的所有元素中

时间:2016-12-06 21:02:29

标签: python python-2.7 python-3.x

我有一个字符串列表:['John','William','Ken','Rogers']。我需要在列表中的每个元素前面添加"Corp\",以便最终列表如下所示:

['Corp\John','Corp\William','Corp\Ken','Corp\Rogers']

我尝试了以下内容:

 s=['John','William','Ken','Rogers']
 users=['Corp\\' + m for m in s]
 print(users)

输出给了我

 ['Corp\\John','Corp\\William','Corp\\Ken','Corp\\Rogers']

如果我尝试users=['Corp\' + m for m in s],我会收到一个明显的错误:

  

“扫描字符串文字时的StringError EOL”

我需要确切形式'Corp\name'的每个元素,因为这需要在for循环中用于验证有资格登录的用户。

1 个答案:

答案 0 :(得分:4)

这可能是您输出“列表”的问题。使用REPL:

>>> lsa = ["Corp\{}".format(item) for item in ls]
>>> print(lsa)
['Corp\\Jenna', 'Corp\\Wilma', 'Corp\\Katie', 'Corp\\Rebecca']
>>> for i in lsa:
...     print(i)
... 
Corp\Jenna
Corp\Wilma
Corp\Katie
Corp\Rebecca

正如您所看到的,在打印完整列表的第一个print中,我们看到两个斜杠。这是因为Python说第二个斜杠是转义的。在第二个打印中,在for循环内部,我们看到只有一个斜杠,因为我们单独打印每个项目并应用了转义字符串,只产生一个斜杠。