Saltar al contenido

¿Qué son las cadenas en Python?

¿Qué es una cuerda?

Una cadena es una lista de caracteres en orden.

Un carácter es cualquier cosa que pueda escribir en el teclado con una sola pulsación de tecla, como una letra, un número o una barra invertida.

Las cadenas pueden tener espacios: “hola mundo”.

Una cadena vacía es una cadena que tiene 0 caracteres.

Las cadenas de Python son inmutables

Python reconoce como cadenas todo lo que está delimitado por comillas (”” o ”).

Accediendo a cadenas


Use [ ] to access characters in a string:
word = "computer"
letter = word[0] 

Use [ # :#] to get set of letters
word= word[0:3]

To pick from beginning to a set point:
word = [:4]

To pick from set point to end:
word = [3:]

To pick starting from the end:
word = [-1] 

Citas


Strings can be enclosed in single quotes
print 'Hello World in single quotes'

Strings can also be enclosed in double quotes
print "Hello World in double quotes"

Strings can also be enclosed in triple quotes
print """ This is a multiline string
Such strings are also possible in Groovy.
These strings can contain ' as well as " quotes """

Strings can be continued on the next line
print "This string is continued on the
next line (in the source) but a newline is not added"

Cuerdas crudas

Las cadenas sin formato existen para que pueda expresar de manera más conveniente las cadenas que se modificarían mediante el procesamiento de secuencias de escape.

Esto es especialmente útil cuando se escriben expresiones regulares u otras formas de código en cadenas literales.

Concatenar cadenas

En Python hay algunas formas diferentes de concatenar cadenas. La concatenación combina dos (o más) cadenas en un nuevo objeto de cadena.

Puede usar el operador +, así:


print "You can concatenate two " + "strings with the '+' operator."
 
str1 = "Hello"
str2 = "World"
str1 + str2    	# concatenation: a new string 

Los literales de cadena pueden estar concatenados por un espacio

word = 'left' "right" 'left'

Cualquier expresión de cadena se puede concatenar con un +


word = wordA + "
" + wordB

Cuerdas inversas


string = "Hello World"
 
print ' '.join(reversed(string))
>>Output:
d l r o W o l l e H

Cambio de cadenas en mayúsculas y minúsculas


string = "Hello World"

print string.lower()

print string.upper()

print string.title()

Reemplazar cadenas


string = "Hello World"

string.replace (“Hola”, “Adiós”)

Repetir cadenas


print "."* 10 # prints ten dots( print string * n ; prints the string n times)

Cuerdas divididas

Python tiene una función muy ordenada para dividir cadenas en cadenas más pequeñas.

La función de división divide una sola cadena en una matriz de cadenas utilizando el separador
definido. Si no se define ningún separador, se utilizan espacios en blanco.

Entrenamiento de Python recomendado

Para el entrenamiento de Python, nuestra principal recomendación es DataCamp.

x = 'blue,red,green'
x.split(",")
['blue', 'red', 'green']

word = "This is some random text"
words2 = word.split(" ")
print words
['This', 'is', 'some', 'random', 'text']

Comienza con / Termina con


Checking if a string starts or ends with a substring:
s = "hello world"

s.startswith("hello")
True

s.endswith("rld")
True

Tiras de cuerdas

Las cadenas de Python tienen los métodos strip (), lstrip (), rstrip () para eliminar cualquier carácter de ambos extremos de una cadena.

Si no se especifican los caracteres que se eliminarán, se eliminarán los espacios en blanco.

string = "Hello World"

#Strip off newline characters from end of the string
print string.strip('
')

strip() 	#removes from both ends
lstrip() 	#removes leading characters (Left-strip)
rstrip() 	#removes trailing characters (Right-strip)
	
spacious = "   xyz   "
print spacious.strip()
 
spacious = "   xyz   "
print spacious.lstrip()
 
spacious =  "xyz   "
print spacious.rstrip()

Cortar cuerdas

Las cadenas tienen índices, por lo que podemos hacer referencia a cada posición de una cadena con su índice correspondiente. ¡Tenga en cuenta que Python, como muchos otros lenguajes, comienza a contar desde 0!

print string[1]	        #get one char of the word
print string[1:2]       #get one char of the word (same as above)
print string[1:3]       #get the first three char
print string[:3]        #get the first three char
print string[-3:]       #get the last three char
print string[3:]        #get all but the three first char
print string[:-3]       #get all but the three last character

x = "my string"

x[start:end] 			# items start through end-1
x[start:]    			# items start through the rest of the list
x[:end]      			# items from the beginning through end-1
x[:]         			# a copy of the whole list

Formateo de cadenas

Aquí hay algunos ejemplos de formato de cadena en Python.

Formato de cadena con%

El carácter de porcentaje “%” marca el inicio del especificador.

% s # usado para cadenas
% d # usado para números
% f # utilizado para punto flotante

x = ‘manzana’
y = ‘limón’
z = “Los artículos de la cesta son% s y% s”% (x, y)

Nota: asegúrese de utilizar una tupla para los valores.

Formateo de cadenas con {}

Los pares de llaves vacías {} sirven como marcadores de posición para las variables que queremos colocar dentro de la cadena.

Luego pasamos estas variables a nuestra cadena como entradas del método strings format () en orden.

Con este método, no tenemos que cambiar nuestro número entero en tipos de cadena primero, el método de formato lo hace por nosotros automáticamente.



fname = "Joe"
lname = "Who"
age = "24"
 
#Example of how to use the format() method:
print "{} {} is {} years ".format(fname, lname, age)
 
#Another really cool thing is that we don't have to provide the inputs in the 
#same order, if we number the place-holders.

print "{0} {1} is {2} years".format(fname, lname, age)

Unir cadenas

Este método toma una lista de cadenas y las une con la cadena de llamada entre cada elemento.


>>> ' '.join(['the', 'cat', 'sat', 'on', 'the', 'mat'])
'the cat sat on the mat'
 
#Let's look at one more example of using the Join method:
#creating a new list
>>> music = ["Abba","Rolling Stones","Black Sabbath","Metallica"]
 
#Join a list with an empty space
>>> print ' '.join(music)
 
#Join a list with a new line
>>> print "
".join(music)

Pruebas de cadenas

Se puede probar una cadena en Python para determinar el valor de verdad. El tipo de retorno estará en valor booleano (verdadero o falso)

my_string = "Hello World"

my_string.isalnum()			#check if all char are numbers
my_string.isalpha()			#check if all char in the string are alphabetic
my_string.isdigit()			#test if string contains digits
my_string.istitle()			#test if string contains title words
my_string.isupper()			#test if string contains upper case
my_string.islower()			#test if string contains lower case
my_string.isspace()			#test if string contains spaces
my_string.endswith('d')		#test if string endswith a d
my_string.startswith('H')	#test if string startswith H

Métodos de cadena incorporados

Los métodos de cadena están trabajando en la cadena desde la que se llama. Estos están integrados en métodos de cadena. (usando notación de puntos)

>>string.string_method()

string = "Hello World"

Para manipular cadenas, podemos usar algunos de los métodos integrados de Pythons

string.upper() 				#get all-letters in uppercase
string.lower() 				#get all-letters in lowercase
string.capitalize() 		#capitalize the first letter
string.title() 				#capitalze the first letter of words
string.swapcase() 			#converts uppercase and lowercase
string.strip() 				#remove all white spaces
string.lstrip() 			#removes whitespace from left
string.rstrip() 			#removes whitespace from right
string.split() 				#splitting words
string.split(',') 			#split words by comma
string.count('l') 			#count how many times l is in the string
string.find('Wo') 			#find the word Wo in the string
string.index("Wo") 			#find the letters Wo in the string
":".join(string) 			#add a : between every char
" ".join(string) 			#add a whitespace between every char
len(string) 				#find the length of the string
string.replace('World', 'Tomorrow') #replace string World with Tomorrow

Fuentes
https://github.com/adaptives/python-examples
http://en.wikibooks.org/wiki/Python_Programming

Entrenamiento de Python recomendado

Para el entrenamiento de Python, nuestra principal recomendación es DataCamp.