【问题标题】:Python - Mirror parts of a list every n itemsPython - 每n个项目镜像列表的一部分
【发布时间】:2018-06-06 07:15:37
【问题描述】:

我正在使用 .xbm 文件将十六进制格式的图像上传到我的 ESP32 以将其显示在电子纸显示器上。

原始代码看起来像这样(在我稍微格式化之后):

0X00,0X00,0X00,0X00,0X00,0XF8,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X1F,

我的问题是,出于某种原因,GIMP 似乎正在导出此 Hex 代码的每个 8 位部分“反转” - 最后,显然每个 8 像素宽的列都是镜像的。

(参考this我发的描述问题的帖子)

我现在的问题是 - 如果我有上面的代码,我如何“镜像”每一行? 为了澄清,我想要这个: 1,2,3,4,5,6,7,8, a,b,c,d,e,f,g,h,

变成

8,7,6,5,4,3,2,1, h,g,f,e,d,c,b,a,

提前致谢。

【问题讨论】:

    标签: python list arduino hex reverse


    【解决方案1】:
    def invert_block(block):
        inverted_block_list = []
        for row in block.split("\n"):
            inverted_row = ",".join(reversed(row.strip(",").split(",")))
            inverted_block_list.append(inverted_row)
        return "\n".join(inverted_block_list)
    

    【讨论】:

    • 谢谢,我该如何准确地使用它? “block”参数是要反转的块的文件名吗?
    • 啊,是的,我明白了,谢谢 - 你能想出一个快速解决办法,让逗号颠倒吗?因为有了你的解决方案,1,2,3,4,5,6,7,8, 变成了,8,7,6,5,4,3,2,1 而不是8,7,6,5,4,3,2,1,
    • 只需将inverted_row = ",".join(reversed(row.strip(",").split(","))) 更改为inverted_row = "".join(reversed(row.strip (",").split(","))).join(",")
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-12
    • 2021-12-25
    • 2020-06-24
    • 2016-11-10
    • 2016-04-14
    相关资源
    最近更新 更多