Marque este artículo si es nuevo en Python (especialmente si está aprendiendo Python usted mismo)

Hola Habr! Le presento la traducción del artículo "Marque esto si es nuevo en Python (especialmente si aprende Python)" en dos partes ( 1 , 2 ) con consejos y trucos simples pero útiles en Python.



- Python, . . , Python, , .. , Python . , Python , , .


: Python 3.8. - , , , Python.





>>> a = 1
>>> b = 3
>>> a == 1
True
>>> a == 2
False
>>> a == b
False
>>> a > b
False
>>> a <= b
True
>>> if a <= b :
...     print('a is less than or equal to b')
...
a is less than or equal to b

. True False. if-else.




>>> def compare(a,b):
...     if a> b:
...             return a
...     else:
...             return b
...

return.


>>> def compare(a, b):
...     return a if a > b else b
...

/



>>> arr_list = [1,4,7]
>>> a = arr_list[0]
>>> b = arr_list[1]
>>> c = arr_list[2]

, :


>>> a, b, c = arr_list
>>> a
1
>>> b
4
>>> c
7



>>> arr_list = [1,4,7]
>>> result = []
>>> for i in arr_list:
...     result.append(i*2)
...
>>> result
[2, 8, 14]

:


>>> result = [x*2 for x in arr_list]
>>> result
[2, 8, 14]

zip



>>> a = [1,5,8]
>>> b = [3,4,7]
>>> result = []
>>> for i in range(len(a)):
...     result.append(a[i] if a[i] < b[i] else b[i])
...
>>> result
[1, 4, 7]

:


>>> result = [min(i) for i in zip(a,b)]
>>> result
[1, 4, 7]

lambda


>>> arr_list= [[1,4], [3,3], [5,7]]
>>> arr_list.sort(key=lambda x: x[1])
>>> arr_list
[[3, 3], [1, 4], [5, 7]]

filter, map



>>> arr_list = [-1, 1, 3, 5]
>>> result = []
>>> for i in arr_list:
...     if i > 0:
...             result.append(i**2)
...
>>> result
[1, 9, 25]


>>> result = list(map(lambda x: x**2, filter(lambda x: x > 0, arr_list)))
>>> result
[1, 9, 25]

: -, :)


Oleg Kapustin Kuldeep Pal.


>>> result = [i**2 for i in arr_list if i > 0]
>>> result
[1, 9, 25]

,


set , , .


>>> arr_list = [1,4,4,6,9]
>>> len(arr_list) == len(set(arr_list))
False


>>> pi = 3.14159
#  Python3.6
>>> print('The value of pi is {:.2f}'.format(pi))
The value of pi is 3.14

>>> a, b, c = 1,5,9
>>> print('a is {}; b is {}; c is {}'.format(a,b,c))
a is 1; b is 5; c is 9

#  Python3.6+
>>> print(f'The value of pi is {pi:.2f}')
The value of pi is 3.14
>>> pi
3.14159

>>> print(f'a is {a}; b is {b}; c is {c}')
a is 1; b is 5; c is 9

.


: PyFormat


enumerate



>>> arr_list = [1, 5, 9]
>>> for i in range(len(arr_list)):
...     print(f'Index: {i}; Value: {arr_list[i]}')
...
Index: 0; Value: 1
Index: 1; Value: 5
Index: 2; Value: 9

:


>>> for i, j in enumerate(arr_list):
...     print(f'Index: {i}; Value: {j}')
...
Index: 0; Value: 1
Index: 1; Value: 5
Index: 2; Value: 9


>>> arr_list = [1,4,6,8,10,11]
>>> a, *b, c = arr_list
>>> a
1
>>> b
[4, 6, 8, 10]
>>> c
11


itertools


>>> str_list = ['A', 'C', 'F']
>>> list(itertools.combinations(str_list,2))
[('A', 'C'), ('A', 'F'), ('C', 'F')]
>>> list(itertools.permutations(str_list,2))
[('A', 'C'), ('A', 'F'), ('C', 'A'), ('C', 'F'), ('F', 'A'), ('F', 'C')]



>>> a = 5
>>> b = 8
>>> temp = a
>>> a = b
>>> b = temp + a
>>> a
8
>>> b
13

. .


>>> a = 5
>>> b = 8
>>> a,b = b, a+b
>>> a
8
>>> b
13

(PS: ? !)


: Evaluation order



>>> str_list = ['This', 'is', 'WYFok']
>>> ' '.join(str_list)
'This is WYFok'

, , join. .


>>> ans_list = [3,6,9]
>>> 'The answer is '+','.join(map(str,ans_list))
'The answer is 3,6,9'

map , join .


: str.join, map


Underscore ()


, , for, :


>>> for i in range(3):
...     print('Hello')
...
Hello
Hello
Hello

, i for. i _ (). ( _ – , Python . , .)


>>> for _ in range(3):
...     print('Hello')
...
Hello
Hello
Hello

Dict.keys, Dict.values, Dict.items


>>> teacher_subject = {'Ben':'English','Maria':'Math','Steve':'Science'}
>>> teacher_subject.keys()
dict_keys(['Ben', 'Maria', 'Steve'])
>>> teacher_subject.values()
dict_values(['English', 'Math', 'Science'])
>>> teacher_subject.items()
dict_items([('Ben', 'English'), ('Maria', 'Math'), ('Steve', 'Science')])

keys values . items , . , .


>>> subject_teacher = {y:x for x,y in teacher_subject.items()}
>>> subject_teacher
{'English': 'Ben', 'Math': 'Maria', 'Science': 'Steve'}

: , .


(: zip )


>>> subject = ['English','Math','Scienc']
>>> teacher = ['Ben','Maria','Steve']
>>> subject_teacher = {f:v for f,v in zip(subject,teacher)}
>>> subject_teacher
{'English': 'Ben', 'Math': 'Maria', 'Scienc': 'Steve'}

: Mapping Types — dict



>>> a = {1,2,3}
>>> b = {1,2,3,4,5}
# a  b?
>>> a<=b
True
# b  a?
>>> a>=b
False
#  a  b 
>>> a.union(b)
{1, 2, 3, 4, 5}
#  a  b 
>>> a.intersection(b)
{1, 2, 3}
#  
#    a,    b 
>>> a.difference(b)
set()
#    b,    a
>>> b.difference(a)
{4, 5}

: Set


collections.Counter


, . Counter, .


>>> import collections
>>> arr_list = [1,1,1,1,2,2,2,3,3,5,5,5,7]
>>> c = collections.Counter(arr_list)
>>> c
Counter({1: 4, 2: 3, 5: 3, 3: 2, 7: 1})
>>> type(c)
<class 'collections.Counter'>
>>> c[1]
4
>>> c[6]
0
#    
>>> dict(c)
{1: 4, 2: 3, 3: 2, 5: 3, 7: 1}

Información adicional: colecciones.Contador


Conclusión


Aunque estos trucos son bastante simples, pueden ayudar a ahorrar tiempo y simplificar su código. Espero que este artículo te haya ayudado a descubrir cómo usar las funciones simples de Python. Buen entrenamiento y código. Hasta la próxima.


All Articles