python字符串垂直输入_python – 垂直翻转(反向)图像给它的字符串...

要做到你想要的信,这是一种方法:

>>> img = 'ABCDEFGHIJKL'

>>> x, y = 4, 3

>>> def chunks(l, n):

... for i in xrange(0, len(l), n):

... yield l[i:i+n]

...

>>> [row for row in chunks(img, x)]

['ABCD', 'EFGH', 'IJKL']

>>> ''.join(reversed([row for row in chunks(img, x)]))

'IJKLEFGHABCD'

但是,除非你有非常小的图像,否则你最好通过numpy,因为这比Cpython数据类型快一个数量级.你应该看一下flipup的功能.例:

>>> A

array([[ 1., 0., 0.],

[ 0., 2., 0.],

[ 0., 0., 3.]])

>>> np.flipud(A)

array([[ 0., 0., 3.],

[ 0., 2., 0.],

[ 1., 0., 0.]])

编辑:想要添加一个完整的例子,以防你以前从未使用过NumPy.当然,转换仅适用于非2×2的图像,因为实例化数组具有开销….

>>> import numpy as np

>>> img = [0x00, 0x01, 0x02, 0x03]

>>> img

[0, 1, 2, 3]

>>> x = y = 2

>>> aimg = np.array(img).reshape(x, y)

>>> aimg

array([[0, 1],

[2, 3]])

>>> np.flipud(aimg)

array([[2, 3],

[0, 1]])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值