时间:2021-07-01 10:21:17 帮助过:161人阅读
第一种方法:
横状数据:
def func(*kargs): return kargs, //有“,” l = func(5,3,4,5,6) for i in l: print (i)
输出为:
(5, 3, 4, 5, 6)
想要将Python的数据由竖状改为横状需要你会用
改成竖状数据:
def func(*kargs): return kargs //无“,” l = func(5,3,4,5,6) for i in l: print (i)
输出为:
5
3
4
5
6
这是因为 return kargs 返回的是传入的参数即元组 (5, 3, 4, 5, 6) 所以遍历输出为竖状, 而 return kargs, 实际将传入的参数包装成元组返回 形如 (kargs, ) 形式,在此例中为 ((5, 3, 4, 5, 6), ) 因为遍历对象中只存在一个元组对象,即(5, 3, 4, 5, 6) 所以实际仅执行了 print((5, 3, 4, 5, 6))。
第二种方法:
1、python3.2
# -*- coding: utf-8 -*- def vertical_print(s): lines=s.strip('。').split(',') lines.reverse() print('\n'.join([' '.join(w) for w in zip(*lines)])) vertical_print("白日依山尽,黄河入海流,欲穷千里目,更上一层楼。")
2、python 2.5
# -*- coding: utf-8 -*- def vertical_print(s): lines=s.strip('。'.decode('utf8')).split(','.decode('utf8')) lines.reverse() print '\n'.join([' '.join(w) for w in zip(*lines)]) s="白日依山尽,黄河入海流,欲穷千里目,更上一层楼。".decode('utf8') vertical_print(s)
zip()的作用是把传入的多个iterable结合在一起。
比如list(zip("abc","def","ghi"))得到的是[('a', 'd', 'g'), ('b', 'e', 'h'), ('c', 'f', 'i')]。在这里,从zip(*lines)得到每行应该输出的字符组成的元组。
本质上这个程序是一个类似矩阵转置的过程,核心就是zip()函数的调用。
学习python要用python的思路做练习啊。尽量不受C的思路限制才能写好python。
以上就是python数据竖着怎么变横的?的详细内容,更多请关注Gxl网其它相关文章!