Python实现读取字符串按列分配后按行输出示例


Posted in Python onApril 17, 2018

本文实例讲述了Python实现读取字符串按列分配后按行输出。分享给大家供大家参考,具体如下:

问题:

输入一个字符串和一个数字,数字代表分为几行,需要按照给定的列存储方法存储下来之后按行拼接读出,如:

输入:TNGDWXAZQSCVBK,3
输出:TWQBNDXZSVKGAC

中间转化的时候会形成这样的图形:

T   W   Q   K
N D X Z S V B
G   A   C

化为矩阵可能看得更清晰一点:

T 0 W 0 Q 0 B
N D X Z S V K
G 0 A 0 C 0 0

0是作为空白填充进去的,下面看具体的实现:

#!usr/bin/env python
#encoding:utf-8
'''''
__Author__:沂水寒城
功能:zigzag_pattern
T  W  Q  K
N D X Z S V B
G  A  C
convert("TNGDWXAZQSCVBK", 3) should return "TWQBNDXZSVKGAC".
'''
def convert_test(one_str,num):
  '''''
  '''
  mod=len(one_str)%(num+1)
  if mod==0:
    cols=(len(one_str)/(num+1))*2
  else:
    cols=(len(one_str)/(num+1))*2+1
  rows=num
  #print 'rows, cols', rows, cols
  matrix=[]
  for i in range(rows):
    matrix.append([0]*cols)
  one_str_list=list(one_str)
  for j in range(cols):
    if j%2==0:
      for i in range(rows):
        if len(one_str_list):
          matrix[i][j]=one_str_list.pop(0)
    else:
      matrix[1][j]=one_str_list.pop(0)
  #print matrix
  # for one in matrix:
  #   one_list=[str(onec) for onec in one]
  #   print ' '.join(one_list)
  res=''
  for one_list in matrix:
    one_list=[str(one) for one in one_list]
    res+=''.join(one_list)
  return ''.join(res.split('0'))
if __name__ == '__main__':
  print convert_test("TNGDWXAZQSCVBK", 3)
  print convert_test("PAYPALISHIRING", 2)
  print convert_test("PAYPALISHIRING", 4)

结果如下:

TWQBNDXZSVKGAC
PPIINAYALSHRIG
PLRAAIIIYSNPHG
[Finished in 0.3s]

更多关于Python相关内容可查看本站专题:《Python字符串操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python实现简单socket程序在两台电脑之间传输消息的方法
Mar 13 Python
简单解析Django框架中的表单验证
Jul 17 Python
Python开发如何在ubuntu 15.10 上配置vim
Jan 25 Python
Python使用functools模块中的partial函数生成偏函数
Jul 02 Python
解决Python requests 报错方法集锦
Mar 19 Python
Python实现模拟登录网易邮箱的方法示例
Jul 05 Python
Python画图实现同一结点多个柱状图的示例
Jul 07 Python
Python应用实现处理excel数据过程解析
Jun 19 Python
使用OpenCV去除面积较小的连通域
Jul 05 Python
python爬虫---requests库的用法详解
Sep 28 Python
Python通过队列来实现进程间通信的示例
Oct 14 Python
pytorch 如何把图像数据集进行划分成train,test和val
May 31 Python
一个简单的python爬虫程序 爬取豆瓣热度Top100以内的电影信息
Apr 17 #Python
Numpy掩码式数组详解
Apr 17 #Python
对numpy中布尔型数组的处理方法详解
Apr 17 #Python
Python简单实现阿拉伯数字和罗马数字的互相转换功能示例
Apr 17 #Python
python3库numpy数组属性的查看方法
Apr 17 #Python
对python中的for循环和range内置函数详解
Apr 17 #Python
Numpy数组转置的两种实现方法
Apr 17 #Python
You might like
php将字符串转化成date存入数据库的两种方式
2014/04/28 PHP
php简单统计中文个数的方法
2016/09/30 PHP
jquery中ajax函数执行顺序问题之如何设置同步
2014/02/28 Javascript
jQuery Mobile页面返回不需要重新get
2016/04/26 Javascript
ajax跨域调用webservice的实现代码
2016/05/09 Javascript
JS锚点的设置与使用方法
2016/09/05 Javascript
JavaScript实现动态增删表格的方法
2017/03/09 Javascript
js实现本地图片文件拖拽效果
2017/07/18 Javascript
Angular 2.0+ 的数据绑定的实现示例
2017/08/09 Javascript
JS改变页面颜色源码分享
2018/02/24 Javascript
vue中如何实现后台管理系统的权限控制的方法步骤
2019/09/05 Javascript
JavaScript相等运算符的九条规则示例详解
2019/10/20 Javascript
vue-quill-editor 自定义工具栏和自定义图片上传路径操作
2020/08/03 Javascript
Python语言编写电脑时间自动同步小工具
2013/03/08 Python
在Django框架中设置语言偏好的教程
2015/07/27 Python
Python全局变量用法实例分析
2016/07/19 Python
python算法演练_One Rule 算法(详解)
2017/05/17 Python
Python自动化运维之IP地址处理模块详解
2017/12/10 Python
解决Django migrate No changes detected 不能创建表的问题
2018/05/27 Python
Python对列表的操作知识点详解
2019/08/20 Python
Python 实现的 Google 批量翻译功能
2019/08/26 Python
python单例模式原理与创建方法实例分析
2019/10/26 Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
2020/01/09 Python
pycharm 对代码做静态检查操作
2020/06/09 Python
CSS3 filter(滤镜)实现网页灰色或者黑色模式的代码
2020/11/30 HTML / CSS
美国女性卫生用品公司:Thinx
2017/06/30 全球购物
德国宠物用品、宠物食品及水族馆网上商店:ZooRoyal
2017/07/09 全球购物
德国机车企业:FC-Moto
2017/10/27 全球购物
香港零食网购:上仓胃子
2020/06/08 全球购物
PyQt QMainWindow的使用示例
2021/03/24 Python
高中毕业自我鉴定
2013/12/22 职场文书
小学一年级评语大全
2014/04/22 职场文书
解除劳动关系协议书范文
2014/09/11 职场文书
导游词之张家界
2019/10/31 职场文书
css背景和边框标签实例详解
2021/05/21 HTML / CSS
SpringBoot详解自定义Stater的应用
2022/07/15 Java/Android