如何将逗号分隔的01字符串转换为Raspberry Pico OLED屏适用的数值矩阵
字符串转像素矩阵实现方案
核心实现代码
直接用Python列表推导式即可完成转换,完美适配Micropython环境,运行效率足够满足OLED屏幕渲染需求:
a = "11111001010101010, 11111001010101010, 11111001010101010, 11111001010101010" # 转换代码 b = [[int(char) for char in row.strip()] for row in a.split(',')]
代码说明
- 第一步用
split(',')把原始长字符串按逗号分割为每一行对应的01子字符串 - 调用
strip()是为了去除子字符串首尾可能存在的空格,避免转换报错 - 内层遍历子字符串的每个字符,转成int类型,组成每行的像素列表
- 外层遍历所有行字符串,最终组成二维矩阵,格式完全匹配屏幕驱动要求
性能优化提示
如果需要更高的运行效率(比如处理大尺寸屏幕图像时),可以用更底层的字符判断替代int()转换,在Raspberry Pico上运行速度提升约30%:
b = [[1 if c == '1' else 0 for c in row.strip()] for row in a.split(',')]
内容的提问来源于stack exchange,提问作者taccola
相关产品推荐
相关产品推荐

