python中如何追加_在Python中,如何向list追加一个原始字符串?

简短回答

如果你问“如何让它工作”。。然后一个简单的解决方案是编写一个函数,将列表简单地转换为字符串。在

如果你跑了print('\'' + r'\"quote\"' + '\'')

你会看到的

^{pr2}$

如你所愿。现在只需要在一个列表上应用这个逻辑。因此它将类似于(我使用的是python2.7.14,但我假设它与您的版本类似):def prettyPrintList(l):

print('[' + ','.join(map(lambda x: '\'' + x + '\'', l)) + ']')

prettyPrintList([r'\"quote\"'])

也许有更好的方法用python编写,我通常不使用python。在

冗长的回答

我想谈谈问题的根源:“为什么它不起作用?”在

在面向对象语言(如python)中,当打印对象(如列表)时,它实际上隐式调用函数。在

在python中,这个函数是str()。在

所以从技术上说你是在运行代码print list.__str()__

该函数定义您看到的行为。

对于list,我假设它做的事情与我的“prettyPrint”函数非常相似——它可能会遍历所有元素并对它们调用.__str__(),然后用逗号将它们连接起来,并用括号括起来。在

所以为了理解输出,让我们看一下.__str__(),当我们直接在'\“quote\”上调用它时>>> '\"quote\"'

'"quote"'

>>> '\"quote\"'.__str__()

'"quote"'

>>> r'\"quote\"'.__str__()

'\\"quote\\"'

>>>

如您所见,REPL实际上输出.__str__()的结果。同样,结果将取决于函数的定义。在

python选择了一种奇怪的方式来实现它。在

如果我在JavaScript中执行相同的操作,那么浏览器和节点(在控制台中)之间会产生不同的结果。在浏览器中,它会产生与您想要的结果相似的结果console.log(['\\"item\\"'])

> ["\"item\""]

在控制台里> console.log(['\\"quote\\"'])

[ '\\"quote\\"' ]

undefined

> console.log(['\"quote\"'])

[ '"quote"' ]

所以正如你所看到的,它实际上取决于核心功能的实现。在

你能保证打印出来的东西和你需要的完全一样,最好的方法就是在代码中指定你想如何“stringify”它。基本上,以适合您的方式实现.__str__()函数。在

我希望我回答了你的问题,并让你相信解决办法。

如果你还有什么意见,请告诉我

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值