Maison >développement back-end >Tutoriel Python >Comment changer les données Python de verticales à horizontales ?

Comment changer les données Python de verticales à horizontales ?

little bottle
little bottleoriginal
2019-05-22 09:31:5619104parcourir

Comment changer les données Python de verticales en horizontales : utilisez la fonction zip(), similaire au processus de transposition matricielle, pour changer les données verticales en données horizontales ; ] )". Cette fonction regroupe les éléments correspondants de l'objet dans des tuples, puis renvoie une liste composée de ces tuples.

Comment changer les données Python de verticales à horizontales ?

Python est désormais un langage très populaire. De nombreuses personnes de tous horizons apprennent Python, mais les difficultés rencontrées dans le processus d'apprentissage ne sont pas les mêmes. peu. Par exemple, je parlerai de la façon de modifier les données de verticales à horizontales.

Première méthode :

Données horizontales :

def func(*kargs):
  
    return kargs,        //有“,”
l = func(5,3,4,5,6)
for i in l:
    
    print (i)

Sortie pour :

(5, 3, 4, 5, 6)

Si vous souhaitez modifier les données Python de verticales à horizontales, vous devez utiliser

pour passer aux données verticales :

La sortie de
def func(*kargs):
  
    return kargs        //无“,”
l = func(5,3,4,5,6)
for i in l:
    
    print (i)

est :

5
3
4
5
6

C'est parce que return kargs renvoie les paramètres entrants, qui sont des tuples (5, 3, 4, 5, 6), donc la sortie du parcours est verticale, et return kargs , le les paramètres entrants sont en fait regroupés dans un tuple et renvoyés sous la forme de (kargs, ), dans ce cas ((5, 3, 4, 5, 6), ) car il n'y a qu'un seul objet tuple dans l'objet de traversée. (5, 3, 4, 5, 6) donc seul print((5, 3, 4, 5, 6)) est réellement exécuté.

La deuxième méthode :

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() La fonction de zip () consiste à combiner plusieurs itérables entrants ensemble.

Par exemple, list(zip("abc","def","ghi")) obtiendra [('a', 'd', 'g'), ('b', 'e ' , 'h'), ('c', 'f', 'i')]. Ici, un tuple de caractères qui doivent être générés pour chaque ligne est obtenu à partir de zip(*lines).

Essentiellement, ce programme est un processus similaire à la transposition matricielle, et le noyau est l'appel de la fonction zip().

Pour apprendre Python, vous devez vous entraîner à utiliser des idées Python. Ce n'est qu'en essayant de ne pas être limité par les idées C que vous pourrez bien écrire Python.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn