• 技术文章 >后端开发 >Python教程

    python数据竖着怎么变横的?

    little bottlelittle bottle2020-09-17 13:12:37原创11356

    python数据竖着变横的的方法:使用zip()函数,类似矩阵转置的过程,将竖状数据变为横状数据;语法“zip([iterable, ...])”。该函数将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

    python现在是非常火热的语言,现在各行各业都有许多人在学习Python,但是在学习的过程中遇到的困难也不少。比如,下面我将说的,如何将数据由竖状变成横状。

    第一种方法:

    横状数据:

    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数据竖着怎么变横的?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Python
    上一篇:怎么运行 桌面上的python快捷方式 下一篇:python tuple有什么用
    php培训_php实战培训【立即报名】-php中文网第20期

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• python赋值语句怎么写• 用python怎么安装库• 学python3什么书好• python shell怎么运行
    1/1

    PHP中文网