我有一个字符串列表:['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循环中用于验证有资格登录的用户。
答案 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
循环内部,我们看到只有一个斜杠,因为我们单独打印每个项目并应用了转义字符串,只产生一个斜杠。