summaryrefslogtreecommitdiff
path: root/PYTHON/12 однострочных конструкций.md
blob: 1e5d8bebc882ae2a51aa5b255b100c5d194caa3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
`pip instal bpython`

```python
x, y, z = map(int, input().strip().split())
print(f"{x=}, {y=}, {z=}")

x, y, z = map(int, (x, y, z))

###############
from functools import reduce

volume = reduce(lambda x, y: x * y, map(int, input().strip().split()))
print(f"(volume= {volume}))

###############
names = ['Христофор', 'Адемар', 'Тэя', 'Стефания', 'Архип']
names_starts_a = [name for name in names if name.startswith('A')]
print(names_starts_a)

###############
names = ['Христофор', 'Адемар', 'Тэя', 'Стефания', 'Архип']
names_starts_a = filter(lambda name: name.startswith('A'), names)
print(list(names_starts_a))

###############
numbers = [1, 2, 3]
	  
# Копирование массива:
another_numbers = numbers[:]

# Перевернуть массив:
numbers[::-1]

# Проверка на вхождение:
name = "Василий"
if name in ('Алексей', 'Пётр', 'Христофор'):
	  print(name)

# Проверка все-ли True:
if all((a, b, c, d, e)): print("All True")

# Проверка если хотя бы один True:
if any((a, b, c, d, e)): print("Any True")
###############
# Тернарный оператор:
admin_email = "admin@site.ru" if config.IS_PRODACTION else "mymail@mail.com"

# Выбор метода в зависимости от <group>:
class User:
	  def __init__(self, group: str):
		  self.group = group

user = User(group='admin')

group_to_process_method = {
						   'admin': process_admin_request,
						   'manager': process_manager_request,
						   'client': process_client_request,
						   'anon': process_anon_request,
						   
}

	  
```