我的程序中有一个列表: grid = []
网格当前以如下格式保存字符串行:
我希望更改列表,以便将其格式更改为:
所以从某种意义上说,这个列表只会顺时针旋转90度。我还想将新格式化的字符串存储在一个名为diff_grid[]的不同列表中。
发布于 2015-08-20 00:16:42
假设网格是您所引用的字符串的列表:
>>> grid = ["abc", "def", "xyz"]试一试
>>> diff_grid = [''.join(i) for i in zip(*grid[::-1])]
>>> diff_grid
['xda', 'yeb', 'zfc']zip(*grid)将在grid的字符串上应用zip运算符。请注意,由于应用zip操作的顺序,您必须反转grid (grid[::-1])。
发布于 2015-08-20 00:21:47
使用zip(),并记住,它将从每个项目中获取第一个元素,然后是第二个元素,依此类推。
>>> strings = ['qwertyui', 'asdfghjk', 'zxcvbnml']
>>> for item in zip(*(strings[::-1])):
... print(item)
...
('z', 'a', 'q')
('x', 's', 'w')
('c', 'd', 'e')
('v', 'f', 'r')
('b', 'g', 't')
('n', 'h', 'y')
('m', 'j', 'u')
('l', 'k', 'i')如果您想要('q', 'a', 'z')而不是('z', 'a', 'q'),则不需要反转字符串list的[::-1]。
如果不希望在输出中看到tuple结构,可以使用join()或解压缩tuple并使用自定义end参数:
>>> for item in zip(*(strings[::-1])):
... print(*item, sep='')
...
zaq
xsw
cde
vfr
bgt
nhy
mju
lkihttps://stackoverflow.com/questions/32107646
复制相似问题