рдореБрдЦреНрдп рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЬрд╛рдПрдБ

Python: рдПрдХ рд╕реВрдЪреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдПрдБ (рдкрд╛рдБрдЪ рд╕рдорд╛рдзрд╛рди)

рдХрд┐рд╕реА Python рд╕реВрдЪреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рддреЗ рд╣реБрдП рдХреНрд░рдо рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реВрдЪреА рд╕реЗ рдПрдХ dictionary рдмрдирд╛рдПрдБ рдФрд░ рдлрд┐рд░ рдЙрд╕рдХреА keys рдХреЛ рдирдИ рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдХрд╛рд▓реЗрдВ: list(dict.fromkeys(my_list)).
┬╖ 9 рдорд┐ре░ рдкрдврд╝реЗрдВ

AI рдХреЗ рд╕рд╛рде рдЦреЛрдЬреЗрдВ

Python рдореЗрдВ list рдПрдХ рдХреНрд░рдордмрджреНрдз рдЕрдиреБрдХреНрд░рдо рд╣реЛрддреА рд╣реИ рдЬреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдорд╛рди рд░рдЦ рд╕рдХрддреА рд╣реИред рдХреБрдЫ Python рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдРрд╕реА рд╕реВрдЪреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ рдЕрджреНрд╡рд┐рддреАрдп рддрддреНрд╡ рд╣реЛрдВред Python рдореЗрдВ рд╕реВрдЪреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред

рд╕рд╣реА рд╕рдорд╛рдзрд╛рди рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рдж рд╕реВрдЪреА рдХреЗ рдЖрдЗрдЯрдореЛрдВ рдХрд╛ рдХреНрд░рдо рдмрдирд╛рдП рд░рдЦрдирд╛ рд╣реИред рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рджрд┐рдП рдЧрдП рд╕рдорд╛рдзрд╛рди рдкрдардиреАрдпрддрд╛ рдФрд░ рдЬрдЯрд┐рд▓рддрд╛ рдореЗрдВ рднрд┐рдиреНрди рд╣реИрдВ, рдФрд░ рдХреБрдЫ рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рдореЙрдбреНрдпреВрд▓ рдХреЗ рдлрд╝рдВрдХреНрд╢рдиреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВред

рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдорд╛рди рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ?

рдХрд┐рд╕реА рд╕реВрдЪреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдиреЗ рдХреЗ рд╕рдорд╛рдзрд╛рди рджреЗрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реИ рдХрд┐ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдорд╛рди рд╕реЗ рд╣рдорд╛рд░рд╛ рдХреНрдпрд╛ рдЖрд╢рдп рд╣реИред рдЖрдо рддреМрд░ рдкрд░ рджреЛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЙрдирдХреЗ рдорд╛рди рд╕рдорд╛рди рд╣реЛрдВред Python рдореЗрдВ, рд╕рдорд╛рдирддрд╛ рдСрдкрд░реЗрдЯрд░ == рддрдм True рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЬрдм рджреЛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдорд╛рди рд╕рдорд╛рди рд╣реЛред рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдкреНрд╕ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рднреА рд╕рдорд╛рди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:

print(10.0 == 10)
print(1 == True)
True
True

рдлреНрд▓реЛрдЯ 10.0 рдФрд░ рдЗрдиреНрдЯреАрдЬрд░ 10 рд╕рдорд╛рди рд╣реИрдВ, рдФрд░ рдЗрдиреНрдЯреАрдЬрд░ 1 рдФрд░ Boolean True рднреА рд╕рдорд╛рди рд╣реИрдВред рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ, рдпреЗ рдорд╛рди рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдорд╛рдиреЗ рдЬрд╛рддреЗ рд╣реИрдВред

рдХреБрдЫ Python рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдБ рдЕрджреНрд╡рд┐рддреАрдп рдорд╛рди рд▓рд╛рдЧреВ рдХрд░рд╛рддреА рд╣реИрдВред рдПрдХ set рдРрд╕реА рдХрд▓реЗрдХреНрд╢рди рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ рдЕрджреНрд╡рд┐рддреАрдп рддрддреНрд╡ рд╣реЛрддреЗ рд╣реИрдВ:

print({10, 10.0})
print({10.0, 10})
print({1, True, 1.0})
{10}
{10.0}
{1}

рдпрд╣ рдХреЛрдб рдмреНрд░реЗрд╕реЗрд╕ рдиреЛрдЯреЗрд╢рди {} рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рддреАрди рд╕реЗрдЯ рдмрдирд╛рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрдЯ рдореЗрдВ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рдмрд░рд╛рдмрд░ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рд╣реЛрддреЗ рд╣реИрдВред рдпрджрд┐ рдЕрд▓рдЧ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рдорд╛рди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рд╕реЗрдЯ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП, рддреЛ рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИред

Python рдореЗрдВ dictionary рдХреА keys рдХрд╛ рдЕрджреНрд╡рд┐рддреАрдп рд╣реЛрдирд╛ рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ:

print({10: "Integer 10", 10.0: "Float 10"})
print({True: "Boolean True", 1: "Integer 1"})
{10: 'Float 10'}
{True: 'Integer 1'}

рдЗрд╕ рдХреЛрдб рдореЗрдВ dictionaries рдореЗрдВ рд╕рдорд╛рди keys рд╣реИрдВред рдХреЗрд╡рд▓ рдкрд╣рд▓реА key рд░рдЦреА рдЬрд╛рддреА рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЙрд╕рд╕реЗ рд╕рдВрдмрджреНрдз рдорд╛рди рдХреЛ рдмрд╛рдж рдореЗрдВ рд╕рдорд╛рди key рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝реЗ рдЧрдП рдЕрдВрддрд┐рдо рдорд╛рди рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд░рдЦреА рдЧрдИ key рдЗрдиреНрдЯреАрдЬрд░ 10 рд╣реИ, рдкрд░ рдЙрд╕рдХрд╛ рдорд╛рди рд╕реНрдЯреНрд░рд┐рдВрдЧ "Float 10" рд╣реИред рджреВрд╕рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, key True, рдЬреЛ 1 рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ, рдХреЗ рд╕рд╛рде рдорд╛рди "Integer 1" рдЬреБрдбрд╝рд╛ рд╣реИред

рдЕрджреНрд╡рд┐рддреАрдп рддрддреНрд╡реЛрдВ рдпрд╛ keys рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдХрд╛рд░рдг, рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдХрдИ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдореЗрдВ sets рдФрд░ dictionaries рдХреА рднреВрдорд┐рдХрд╛ рд╣реИред

Set рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реВрдЪреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдПрдБ

рд╕реВрдЪреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╕реВрдЪреА рдХреЛ set рдореЗрдВ рдХрд╛рд╕реНрдЯ рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рд╡рд╛рдкрд╕ рд╕реВрдЪреА рдореЗрдВред set рдореЗрдВ рдХреЗрд╡рд▓ рдЕрджреНрд╡рд┐рддреАрдп рдорд╛рди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, set рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╕рдордп рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯ рдЬрд╛рддреЗ рд╣реИрдВ:

names = ["James", "Bob", "James", "Mark", "Kate", "Sarah", "Kate"]
print(list(set(names)))
['Mark', 'Bob', 'Kate', 'James', 'Sarah']

рдЗрд╕ рддрдХрдиреАрдХ рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЪрд░рдг рджреЗрдЦреЗрдВ:

  1. рд╕реВрдЪреА рдХреЛ set рдореЗрдВ рдХрд╛рд╕реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╕рднреА рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯ рдЬрд╛рддреЗ рд╣реИрдВ
  2. set рдХреЛ рд╡рд╛рдкрд╕ рдирдИ рд╕реВрдЪреА рдореЗрдВ рдХрд╛рд╕реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ рдЕрджреНрд╡рд┐рддреАрдп рдорд╛рди рд╣реЛрддреЗ рд╣реИрдВ

рдореВрд▓ рд╕реВрдЪреА рдореЗрдВ James рдФрд░ Kate рджреЛ рдмрд╛рд░ рдЖрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдВрддрд┐рдо рд╕реВрдЪреА рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ред

рд╣рд╛рд▓рд╛рдБрдХрд┐, sets рдЕрдирдХреНрд░рдордмрджреНрдз рдХрд▓реЗрдХреНрд╢рди рд╣реИрдВред set рдореЗрдВ рдЖрдЗрдЯрдореЛрдВ рдХрд╛ рдХреНрд░рдо рдмрдирд╛ рдирд╣реАрдВ рд░рд╣рддрд╛ред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЕрдВрддрд┐рдо рд╕реВрдЪреА рдореЗрдВ рдирд╛рдо рдореВрд▓ рд╕реВрдЪреА рдХреЗ рдХреНрд░рдо рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВред рдХреНрдпреЛрдВрдХрд┐ set рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреЗ рдХреНрд░рдо рдХреА рдХреЛрдИ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИ, рд╡рд╣реА рдХреЛрдб рджреЛрдмрд╛рд░рд╛ рдЪрд▓рд╛рдиреЗ рдкрд░ рдпрд╛ рдХрд┐рд╕реА рдФрд░ Python рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рдкрд░ рдЕрд▓рдЧ рдХреНрд░рдо рджреЗ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рд╕рдорд╛рдзрд╛рди рддрдм рдЖрджрд░реНрд╢ рд╣реИ рдЬрдм рд╕реВрдЪреА рдХреЗ рдЖрдЗрдЯрдореЛрдВ рдХреЗ рдХреНрд░рдо рдХреА рдЬрд╛рдирдХрд╛рд░реА рдЦреЛрдирд╛ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реЛред рд▓реЗрдХрд┐рди рдпрджрд┐ рддрддреНрд╡реЛрдВ рдХрд╛ рдХреНрд░рдо рдмрдирд╛рдП рд░рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рд╣рдореЗрдВ рдЕрдиреНрдп рд╕рдорд╛рдзрд╛рди рдЪрд╛рд╣рд┐рдПред

рд╕реВрдЪреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдПрдБ рдФрд░ рдХреНрд░рдо рдмрдирд╛рдП рд░рдЦреЗрдВ

Dictionary рдХреА keys sets рдХреЗ рд╕рдорд╛рди рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЕрджреНрд╡рд┐рддреАрдп рд╣реЛрдирд╛ рд╣реЛрддрд╛ рд╣реИред рдХрд┐рд╕реА dictionary рдореЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ values рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдбреБрдкреНрд▓рд┐рдХреЗрдЯ keys рдирд╣реАрдВред

Python 3.6 рд╕реЗ рдкрд╣рд▓реЗ, dictionaries рдЕрдкрдиреЗ рддрддреНрд╡реЛрдВ рдХрд╛ рдХреНрд░рдо рдирд╣реАрдВ рдмрдирд╛рдП рд░рдЦрддреА рдереАрдВред рд▓реЗрдХрд┐рди Python 3.6 рдореЗрдВ dictionaries рдХреЗ рдЗрдореНрдкреНрд▓реАрдореЗрдВрдЯреЗрд╢рди рдореЗрдВ рдХрд┐рдП рдЧрдП рдмрджрд▓рд╛рд╡реЛрдВ рдХреЗ рдПрдХ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ, рдЕрдм dictionaries рдЖрдЗрдЯрдо рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдХреНрд░рдо рдХреЛ рдмрдирд╛рдП рд░рдЦрддреА рд╣реИрдВред Python 3.6 рдореЗрдВ рдпрд╣ рдХреЗрд╡рд▓ рдЗрдореНрдкреНрд▓реАрдореЗрдВрдЯреЗрд╢рди рдбрд┐рдЯреЗрд▓ рдерд╛, рдкрд░ Python 3.7 рдореЗрдВ рдпрд╣ рднрд╛рд╖рд╛ рдХрд╛ рдФрдкрдЪрд╛рд░рд┐рдХ рд╣рд┐рд╕реНрд╕рд╛ рдмрди рдЧрдпрд╛ред

рдлрд╝рдВрдХреНрд╢рди dict.fromkeys() рдХрд┐рд╕реА iterable рд╕реЗ dictionary рдмрдирд╛рддрд╛ рд╣реИред iterable рдХреЗ рддрддреНрд╡ рдирдИ dictionary рдХреА keys рдмрди рдЬрд╛рддреЗ рд╣реИрдВ:

names = ["James", "Bob", "James", "Mark", "Kate", "Sarah", "Kate"]
print(dict.fromkeys(names))
{'James': None, 'Bob': None, 'Mark': None, 'Kate': None, 'Sarah': None}

рдЪреВрдБрдХрд┐ dictionary рдХреА keys рдЕрджреНрд╡рд┐рддреАрдп рд╣реЛрддреА рд╣реИрдВ, dictionary рдмрдирд╛рддреЗ рд╕рдордп рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдорд╛рди рд╣рдЯ рдЬрд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк Python 3.7 рдпрд╛ рдмрд╛рдж рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ keys рдХрд╛ рдХреНрд░рдо рд╕реВрдЪреА рдХреЗ рдЖрдЗрдЯрдореЛрдВ рдХреЗ рдХреНрд░рдо рдЬреИрд╕рд╛ рд╣реА рд╣реЛрдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реИред рд╕рднреА keys рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди None рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдорд╛рдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ dictionary рдХреЛ рд╡рд╛рдкрд╕ рд╕реВрдЪреА рдореЗрдВ рдХрд╛рд╕реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

names = ["James", "Bob", "James", "Mark", "Kate", "Sarah", "Kate"]
print(list(dict.fromkeys(names)))
['James', 'Bob', 'Mark', 'Kate', 'Sarah']

рдХрд┐рд╕реА dictionary рдХреЛ рд╕реВрдЪреА рдореЗрдВ рдХрд╛рд╕реНрдЯ рдХрд░рддреЗ рд╕рдордп рдХреЗрд╡рд▓ keys рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рддрдХрдиреАрдХ рдореВрд▓ рд╕реВрдЪреА рдХреЛ рдРрд╕реА рдирдИ рд╕реВрдЪреА рдореЗрдВ рдмрджрд▓ рджреЗрддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдирд╣реАрдВ рд╣реЛрддреЗ рдФрд░ рдЖрдЗрдЯрдореЛрдВ рдХрд╛ рдореВрд▓ рдХреНрд░рдо рдмрдирд╛ рд░рд╣рддрд╛ рд╣реИред

рд╕реВрдЪреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдиреЗ рдХреЗ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк

рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ рджрд┐рдП рдЧрдП рд╡рд┐рдХрд▓реНрдк рдЙрди рджреЛ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рд╕реВрдЪреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдиреЗ рд╣реЛрддреЗ рд╣реИрдВ:

  1. рдЬрдм рдЖрдЗрдЯрдореЛрдВ рдХрд╛ рдХреНрд░рдо рдЖрд╡рд╢реНрдпрдХ рди рд╣реЛ рддреЛ set рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
  2. рдЖрдЗрдЯрдореЛрдВ рдХрд╛ рдХреНрд░рдо рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП dict.fromkeys() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдпреЗ рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдк рд╕рдВрднрд╡рддрдГ рд╕рд░реНрд╡реЛрддреНрддрдо рд╕рдорд╛рдзрд╛рди рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕реВрдЪреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдиреЗ рдХреА рдЕрдиреНрдп рддрдХрдиреАрдХреЗрдВ рднреА рд╣реИрдВред

рд▓реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирдИ рд╕реВрдЪреА рдмрдирд╛рдирд╛

рдПрдХ рд╕реАрдзрд╛ рд╡рд┐рдХрд▓реНрдк рдпрд╣ рд╣реИ рдХрд┐ рдореВрд▓ рд╕реВрдЪреА рдкрд░ рдЗрдЯрд░реЗрдЯ рдХрд░реЗрдВ рдФрд░ рдирдП рдЖрдЗрдЯрдореЛрдВ рдХреЛ рдирдИ рд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рдЬрд╛рдПрдБ:

names = ["James", "Bob", "James", "Mark", "Kate", "Sarah", "Kate"]
unique_names = []
for name in names:
    if name not in unique_names:
        unique_names.append(name)
print(unique_names)
['James', 'Bob', 'Mark', 'Kate', 'Sarah']

рдирдИ рд╕реВрдЪреА unique_names рдХреЛ for рд▓реВрдк рд╕реЗ рдкрд╣рд▓реЗ рдЦрд╛рд▓реА рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рдЖрд░рдВрдн рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ рдЖрдЗрдЯрдо рдкрд╣рд▓реЗ рд╕реЗ рдЗрд╕рдореЗрдВ рдирд╣реАрдВ рд╣реИ рддреЛ рдЙрд╕реЗ рдирдИ рд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг рдореВрд▓ рд╕реВрдЪреА рдХреЗ рдЖрдЗрдЯрдореЛрдВ рдХрд╛ рдХреНрд░рдо рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ for рд▓реВрдк рд╕реВрдЪреА рдореЗрдВ рдХреНрд░рдо рд╕реЗ рдЗрдЯрд░реЗрдЯ рдХрд░рддрд╛ рд╣реИред

рдмрдбрд╝реА рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдорд╛рдзрд╛рди рдЕрдХреНрд╖рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдорд╛рди рд▓реЗрдВ рдХрд┐ рдПрдХ рд▓рдВрдмреА рд╕реВрдЪреА рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рд╕реЗ рдмрдиреА рд╣реИред рд╣рдо рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреА рддреБрд▓рдирд╛ dict.fromkeys() рд╡рд╛рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

import random
import timeit
data = [random.randint(0, 100) for _ in range(100)]
use_fromkeys = "unique_data = list(dict.fromkeys(data))"
use_for_loop = """unique_data = []
for item in data:
    if item not in unique_data:
        unique_data.append(item)"""
from_keys_time = timeit.timeit(use_fromkeys, globals=globals())
for_loop_time = timeit.timeit(use_for_loop, globals=globals())
print(f"Time for 'dict.fromkeys()' version: {from_keys_time:0.2f}s")
print(f"Time for loop version: {for_loop_time:0.2f}s")
Time for 'dict.fromkeys()' version: 2.26s
Time for loop version: 17.88s

timeit() рдлрд╝рдВрдХреНрд╢рди, рдЗрд╕реА рдирд╛рдо рдХреЗ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ, рдХрд┐рд╕реА рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рд╕рдордп рдорд╛рдкрддрд╛ рд╣реИред рд╕реНрдЯреЗрдЯрдореЗрдВрдЯреНрд╕ рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ timeit.timeit() рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдЙрдЯрдкреБрдЯ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ for рд▓реВрдк рд╡рд╛рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг dict.fromkeys() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╛рдлреА рдзреАрдорд╛ рд╣реИред рд╡рд┐рднрд┐рдиреНрди рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдФрд░ рд╕реЗрдЯрдЕрдкреНрд╕ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдЕрд▓рдЧ рд╣реЛрдЧрд╛, рдкрд░ dict.fromkeys() рд╡рд┐рдХрд▓реНрдк рд╣рдореЗрд╢рд╛ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд░реВрдк рд╕реЗ рддреЗрдЬрд╝ рд░рд╣реЗрдЧрд╛ред

set рдХреЗ рд╕рд╛рде рд╕реВрдЪреА рд╕рдореЗрдХрди (list comprehension) рдХрд╛ рдЙрдкрдпреЛрдЧ

рдкрд┐рдЫрд▓реЗ рд╕реЗрдХреНрд╢рди рдХреЗ for рд▓реВрдк рдХреЛ list comprehension рдореЗрдВ рдмрджрд▓рд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ if рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдЬрд╛рдБрдЪрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдЖрдЗрдЯрдо рдирдИ рд╕реВрдЪреА рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред list comprehension рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдПрдХ set рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рдЖрдЗрдЯрдореЛрдВ рдХрд╛ рдЯреНрд░реИрдХ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╕реВрдЪреА рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдЬреЛрдбрд╝реЗ рдЬрд╛ рдЪреБрдХреЗ рд╣реИрдВ:

names = ["James", "Bob", "James", "Mark", "Kate", "Sarah", "Kate"]
items = set()
unique_names = [name for name in names if not (name in items or items.add(name))]
print(unique_names)
['James', 'Bob', 'Mark', 'Kate', 'Sarah']

рдпрд╣ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдкреВрд░реНрдгрддрд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдкрдардиреАрдпрддрд╛ рдореЗрдВ рдХрдореА рд░рдЦрддрд╛ рд╣реИ рдФрд░ dict.fromkeys() рдХреЗ рдореБрдХрд╛рдмрд▓реЗ рдХреЛрдИ рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░ рдирд╣реАрдВ рджреЗрддрд╛ред

рдпрджрд┐ рдирд╛рдо рдкрд╣рд▓реЗ рд╕реЗ set items рдореЗрдВ рд╣реИ, рддреЛ list comprehension рдореЗрдВ рдХреЛрд╖реНрдардХ рдХреЗ рднреАрддрд░ рдХрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ True рд╣реЛрддреА рд╣реИред or рдХреАрд╡рд░реНрдб рдХреЗ рдмрд╛рдж рд╡рд╛рд▓реА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдирд╣реАрдВ рд╣реЛрддрд╛ рдЬрдм рдкрд╣рд▓рд╛ рдСрдкрд░реЗрдгреНрдб True рд╣реЛ, рдХреНрдпреЛрдВрдХрд┐ or рд╢реЙрд░реНрдЯ-рд╕рд░реНрдХрд┐рдЯ рдХрд░рддрд╛ рд╣реИред рдЪреВрдБрдХрд┐ рдХреЛрд╖реНрдардХ рдХреЗ рднреАрддрд░ рдХреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ True рд╣реИ, if рдХреНрд▓реЙрдЬ False рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдирд╛рдо unique_names рдореЗрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ред

рдЬрдм рдирд╛рдо set items рдореЗрдВ рдирд╣реАрдВ рд╣реЛрддрд╛, рддреЛ or рдХреЗ рдмрд╛рдж рдХреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╡рд╣ рдирд╛рдо рдХреЛ set рдореЗрдВ рдЬреЛрдбрд╝ рджреЗрддреА рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, .add() рдореЗрдердб None рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдЬреЛ falsy рд╣реЛрддрд╛ рд╣реИред рдЕрдм if рдХреНрд▓реЙрдЬ True рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдирд╛рдо рд╕реВрдЪреА unique_names рдореЗрдВ рднреА рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ

рдХрдИ рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рдореЙрдбреНрдпреВрд▓реНрд╕ рдореЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдиреЗ рдХреЗ рдЯреВрд▓ рд╣реЛрддреЗ рд╣реИрдВред more_itertools рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ unique_everseen() рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬреЛ рдПрдХ iterator рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЬреЛ рдХреНрд░рдо рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП рдЕрджреНрд╡рд┐рддреАрдп рддрддреНрд╡ рджреЗрддрд╛ рд╣реИред

рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ pip рдпрд╛ рдЕрдиреНрдп рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рд╕реЗ more_itertools рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

$ pip install more_itertools

рдЕрдм рд╣рдо рд╕реВрдЪреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП more_itertools.unique_everseen() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

import more_itertools
names = ["James", "Bob", "James", "Mark", "Kate", "Sarah", "Kate"]
unique_names = list(more_itertools.unique_everseen(names))
print(unique_names)
['James', 'Bob', 'Mark', 'Kate', 'Sarah']

рдЪреВрдБрдХрд┐ unique_everseen() рдПрдХ iterator рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдЙрд╕рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╕реВрдЪреА рдореЗрдВ рдХрд╛рд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдПрдХ рдФрд░ рд▓реЛрдХрдкреНрд░рд┐рдп рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ NumPy, рдЬреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдиреЗ рдХрд╛ рд╕рдорд╛рдзрд╛рди рднреА рджреЗрддреА рд╣реИред NumPy рдХреЛ pip рдпрд╛ рдЕрдиреНрдп рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

$ pip install numpy

NumPy рдХрд╛ unique() рдлрд╝рдВрдХреНрд╢рди рдЕрдкрдиреЗ рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯ рд╕реЗ рдЕрджреНрд╡рд┐рддреАрдп рддрддреНрд╡реЛрдВ рд╡рд╛рд▓рд╛ рдПрдХ NumPy array рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЗрд╕ NumPy array рдХреЛ NumPy рдХреЗ .tolist() рд╕реЗ рд╕реВрдЪреА рдореЗрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

import numpy as np
names = ["James", "Bob", "James", "Mark", "Kate", "Sarah", "Kate"]
unique_names = np.unique(names).tolist()
print(unique_names)
['Bob', 'James', 'Kate', 'Mark', 'Sarah']

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ NumPy рдХрд╛ unique() рдЖрдЗрдЯрдореЛрдВ рдХрд╛ рдХреНрд░рдо рдирд╣реАрдВ рдмрдирд╛рдП рд░рдЦрддрд╛ред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдпрд╣ рдХреНрд░рдордмрджреНрдз рдЖрдЗрдЯрдо рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдПрдХ рдФрд░ рд▓реЛрдХрдкреНрд░рд┐рдп рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА, Pandas, рдХрд╛ unique() рдлрд╝рдВрдХреНрд╢рди рднреА рдЗрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЖрдЗрдЯрдореЛрдВ рдХрд╛ рдХреНрд░рдо рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИред NumPy рдФрд░ Pandas рдХреЗ рд╕рдорд╛рдзрд╛рди рддрдм рдЖрджрд░реНрд╢ рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рдпреЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдкрд╣рд▓реЗ рд╕реЗ рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧ рд╣реЛ рд░рд╣реА рд╣реЛрдВ рдФрд░ рдХреЗрд╡рд▓ рд╕реВрдЪреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдиреНрд╣реЗрдВ рдЕрд▓рдЧ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдФрд░ рдЗрдореНрдкреЛрд░реНрдЯ рди рдХрд░рдирд╛ рдкрдбрд╝реЗред

рдХреНрдпрд╛ dict.fromkeys() set рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИ?

рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рджрд┐рдП рдЧрдП рдкрд╣рд▓реЗ рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реА рд╕рд░реНрд╡реЛрддреНрддрдо рд╣реЛрддреЗ рд╣реИрдВ:

  1. рд╕реВрдЪреА рдХреЛ set рдореЗрдВ рдХрд╛рд╕реНрдЯ рдХрд░реЗрдВ, рдФрд░ set рдХреЛ рд╡рд╛рдкрд╕ рд╕реВрдЪреА рдореЗрдВ рдХрд╛рд╕реНрдЯ рдХрд░реЗрдВред
  2. рд╕реВрдЪреА рд╕реЗ dict.fromkeys() рджреНрд╡рд╛рд░рд╛ dictionary рдмрдирд╛рдПрдБ рдФрд░ рдЙрд╕реЗ рд╡рд╛рдкрд╕ рд╕реВрдЪреА рдореЗрдВ рдХрд╛рд╕реНрдЯ рдХрд░реЗрдВред

Dictionary рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдЗрдЯрдореЛрдВ рдХрд╛ рдХреНрд░рдо рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдЗрдЯрдореЛрдВ рдХреЗ рдХреНрд░рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ set рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реИ рдФрд░ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рджреЗ рд╕рдХрддрд╛ рд╣реИред

рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░ рдХреЛ timeit рд╕реЗ рдкрд░рд┐рдорд╛рдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

import random
import timeit
data = [random.randint(0, 100) for _ in range(100)]
use_fromkeys = "unique_data = list(dict.fromkeys(data))"
use_set = "unique_data = list(set(data))"
from_keys_time = timeit.timeit(use_fromkeys, globals=globals())
set_time = timeit.timeit(use_set, globals=globals())
print(f"Time for 'dict.fromkeys()' version: {from_keys_time:0.2f}s")
print(f"Time for set version: {set_time:0.2f}s")
Time for 'dict.fromkeys()' version: 2.08s
Time for set version: 1.05s

set рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реВрдЪреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдирд╛, dictionary рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд▓рдЧрднрдЧ рджреЛрдЧреБрдирд╛ рддреЗрдЬрд╝ рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖

Python рдФрд░ рдЗрд╕рдХреА рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рд╕реВрдЪреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдиреЗ рдХреЗ рдХрдИ рд╡рд┐рдХрд▓реНрдк рджреЗрддреА рд╣реИрдВред

рдЖрдк рдЗрди рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯреНрд╕ рд╕реЗ Python рд╕реАрдЦрдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ:

Stephen Gruppetta

рд▓реЗрдЦрдХ

Stephen Gruppetta

рдореИрдВрдиреЗ рдпреВрдирд┐рд╡рд░реНрд╕рд┐рдЯреА рдСрдл рдорд╛рд▓реНрдЯрд╛ рдореЗрдВ рд╕реНрдирд╛рддрдХ рд╕реНрддрд░ рдкрд░ рднреМрддрд┐рдХреА рдФрд░ рдЧрдгрд┐рдд рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛ред рдЙрд╕рдХреЗ рдмрд╛рдж, рдореИрдВ рд▓рдВрджрди рдЪрд▓рд╛ рдЧрдпрд╛ рдФрд░ рдЗрдореНрдкреАрд░рд┐рдпрд▓ рдХреЙрд▓реЗрдЬ рд╕реЗ рднреМрддрд┐рдХреА рдореЗрдВ рдкреАрдПрдЪрдбреА рдкреНрд░рд╛рдкреНрдд рдХреАред рдореИрдВрдиреЗ рдорд╛рдирд╡ рд░реЗрдЯрд┐рдирд╛ рдХреА рдЗрдореЗрдЬрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдирд╡реАрди рдСрдкреНрдЯрд┐рдХрд▓ рддрдХрдиреАрдХреЛрдВ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ред рдЕрдм, рдореИрдВ Python рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрдиреЗ, Python рдкрд░ рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдФрд░ Python рд╕рд┐рдЦрд╛рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реВрдБред

рд╡рд┐рд╖рдп