Las tuplas pueden ser una colección de varios tipos de datos y, a diferencia de los tipos de datos más simples, los métodos convencionales para obtener el tipo de cada elemento de la tupla no son posibles. Para esto necesitamos tener diferentes formas de lograr esta tarea. Analicemos ciertas formas en que se puede realizar esta tarea.
Método #1: Usomap() + type()
El uso de esta función es la forma más convencional y mejor de realizar esta tarea. En esto, solo permitimos map()
extender la lógica de encontrar tipos de datos usando type()
cada elemento de la tupla.
# Python3 code to demonstrate working of # Get tuple element data types # Using map() + type() # Initializing tuple test_tup = ('gfg', 1, ['is', 'best']) # printing original tuple print("The original tuple is : " + str(test_tup)) # Get tuple element data types # Using map() + type() res = list(map(type, test_tup)) # printing result print("The data types of tuple in order are : " + str(res))
The original tuple is : ('gfg', 1, ['is', 'best']) The data types of tuple in order are : [<class 'str'>, <class 'int'>, <class 'list'>]
Método #2: Usar colecciones. Secuencia +isinstance() + type()
Podemos realizar esta tarea usando la combinación de las funciones anteriores. La ventaja adicional de usar este método es que también nos proporciona la longitud de cada elemento si su tipo es un tipo de datos complejo.
# Python3 code to demonstrate working of # Get tuple element data types # Using collections.Sequence + isinstance() + type() import collections # Initializing tuple test_tup = ('gfg', 1, ['is', 'best']) # printing original tuple print("The original tuple is : " + str(test_tup)) # Get tuple element data types # Using collections.Sequence + isinstance() + type() res = [(type(ele), len(ele) if isinstance(ele, collections.Sequence) else None) for ele in test_tup] # printing result print("The data types of tuple in order are : " + str(res))
The original tuple is : ('gfg', 1, ['is', 'best']) The data types of tuple in order are : [(<class 'str'>, 3), (<class 'int'>, None), (<class 'list'>, 2)]
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA