【问题标题】:Python 3.4: replace "0x" with "\x" in a ListPython 3.4:将列表中的“0x”替换为“\x”
【发布时间】:2015-01-21 13:31:25
【问题描述】:

您好,我想在此列表中将“0x”替换为“\x”:

['0x50', '0x0', '0x0', '0x0']

我用这个列表理解尝试过:

result = ['0x50', '0x0', '0x0', '0x0']
result = [x.replace("0x","\x") for x in result]

但它给了我这个错误:

(unicode error)"unicodeescape" codex cant decode byte in position 0-1: truncated \xXX escape

我现在如何更改“0x”和“\x”?

【问题讨论】:

  • 它看起来像XY problem。您能否提供一些背景信息:数据来自哪里?你想如何使用结果?我觉得,可以简化整个流程。

标签: python list python-3.x list-comprehension


【解决方案1】:

把它变成一个原始字符串

>>> l = ['0x50', '0x0', '0x0', '0x0']
>>> [i.replace('0x',r'\x') for i in l]
['\\x50', '\\x0', '\\x0', '\\x0']

或双重转义\

>>> [i.replace('0x','\\x') for i in l]
['\\x50', '\\x0', '\\x0', '\\x0']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-14
    相关资源
    最近更新 更多