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']рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдЗрд╕ рддрдХрдиреАрдХ рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЪрд░рдг рджреЗрдЦреЗрдВ:
рд╕реВрдЪреА рдХреЛ set рдореЗрдВ рдХрд╛рд╕реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╕рднреА рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯ рдЬрд╛рддреЗ рд╣реИрдВ
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 рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рддрдХрдиреАрдХ рдореВрд▓ рд╕реВрдЪреА рдХреЛ рдРрд╕реА рдирдИ рд╕реВрдЪреА рдореЗрдВ рдмрджрд▓ рджреЗрддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдирд╣реАрдВ рд╣реЛрддреЗ рдФрд░ рдЖрдЗрдЯрдореЛрдВ рдХрд╛ рдореВрд▓ рдХреНрд░рдо рдмрдирд╛ рд░рд╣рддрд╛ рд╣реИред
рд╕реВрдЪреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдиреЗ рдХреЗ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк
рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ рджрд┐рдП рдЧрдП рд╡рд┐рдХрд▓реНрдк рдЙрди рджреЛ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рд╕реВрдЪреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдиреЗ рд╣реЛрддреЗ рд╣реИрдВ:
рдЬрдм рдЖрдЗрдЯрдореЛрдВ рдХрд╛ рдХреНрд░рдо рдЖрд╡рд╢реНрдпрдХ рди рд╣реЛ рддреЛ set рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдЖрдЗрдЯрдореЛрдВ рдХрд╛ рдХреНрд░рдо рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП 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 рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИ?
рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рджрд┐рдП рдЧрдП рдкрд╣рд▓реЗ рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реА рд╕рд░реНрд╡реЛрддреНрддрдо рд╣реЛрддреЗ рд╣реИрдВ:
рд╕реВрдЪреА рдХреЛ set рдореЗрдВ рдХрд╛рд╕реНрдЯ рдХрд░реЗрдВ, рдФрд░ set рдХреЛ рд╡рд╛рдкрд╕ рд╕реВрдЪреА рдореЗрдВ рдХрд╛рд╕реНрдЯ рдХрд░реЗрдВред
рд╕реВрдЪреА рд╕реЗ 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 рд╕реАрдЦрдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ:
Python рдореЗрдВ list рдПрдХ рдХреНрд░рдордмрджреНрдз рдЕрдиреБрдХреНрд░рдо рд╣реЛрддреА рд╣реИ рдЬреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдорд╛рди рд░рдЦ рд╕рдХрддреА рд╣реИред рдХреБрдЫ Python рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдРрд╕реА рд╕реВрдЪреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ рдЕрджреНрд╡рд┐рддреАрдп рддрддреНрд╡ рд╣реЛрдВред Python рдореЗрдВ рд╕реВрдЪреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред
рд╕рд╣реА рд╕рдорд╛рдзрд╛рди рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рдж рд╕реВрдЪреА рдХреЗ рдЖрдЗрдЯрдореЛрдВ рдХрд╛ рдХреНрд░рдо рдмрдирд╛рдП рд░рдЦрдирд╛ рд╣реИред рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рджрд┐рдП рдЧрдП рд╕рдорд╛рдзрд╛рди рдкрдардиреАрдпрддрд╛ рдФрд░ рдЬрдЯрд┐рд▓рддрд╛ рдореЗрдВ рднрд┐рдиреНрди рд╣реИрдВ, рдФрд░ рдХреБрдЫ рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рдореЙрдбреНрдпреВрд▓ рдХреЗ рдлрд╝рдВрдХреНрд╢рдиреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВред
рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдорд╛рди рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ?
рдХрд┐рд╕реА рд╕реВрдЪреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдиреЗ рдХреЗ рд╕рдорд╛рдзрд╛рди рджреЗрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реИ рдХрд┐ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдорд╛рди рд╕реЗ рд╣рдорд╛рд░рд╛ рдХреНрдпрд╛ рдЖрд╢рдп рд╣реИред рдЖрдо рддреМрд░ рдкрд░ рджреЛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЙрдирдХреЗ рдорд╛рди рд╕рдорд╛рди рд╣реЛрдВред Python рдореЗрдВ, рд╕рдорд╛рдирддрд╛ рдСрдкрд░реЗрдЯрд░
==рддрдмTrueрд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЬрдм рджреЛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдорд╛рди рд╕рдорд╛рди рд╣реЛред рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдкреНрд╕ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рднреА рд╕рдорд╛рди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:рдлреНрд▓реЛрдЯ
10.0рдФрд░ рдЗрдиреНрдЯреАрдЬрд░10рд╕рдорд╛рди рд╣реИрдВ, рдФрд░ рдЗрдиреНрдЯреАрдЬрд░1рдФрд░ BooleanTrueрднреА рд╕рдорд╛рди рд╣реИрдВред рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ, рдпреЗ рдорд╛рди рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдорд╛рдиреЗ рдЬрд╛рддреЗ рд╣реИрдВредрдХреБрдЫ Python рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдБ рдЕрджреНрд╡рд┐рддреАрдп рдорд╛рди рд▓рд╛рдЧреВ рдХрд░рд╛рддреА рд╣реИрдВред рдПрдХ set рдРрд╕реА рдХрд▓реЗрдХреНрд╢рди рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ рдЕрджреНрд╡рд┐рддреАрдп рддрддреНрд╡ рд╣реЛрддреЗ рд╣реИрдВ:
рдпрд╣ рдХреЛрдб рдмреНрд░реЗрд╕реЗрд╕ рдиреЛрдЯреЗрд╢рди
{}рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рддреАрди рд╕реЗрдЯ рдмрдирд╛рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрдЯ рдореЗрдВ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рдмрд░рд╛рдмрд░ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рд╣реЛрддреЗ рд╣реИрдВред рдпрджрд┐ рдЕрд▓рдЧ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рдорд╛рди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рд╕реЗрдЯ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП, рддреЛ рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИредPython рдореЗрдВ dictionary рдХреА keys рдХрд╛ рдЕрджреНрд╡рд┐рддреАрдп рд╣реЛрдирд╛ рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ:
рдЗрд╕ рдХреЛрдб рдореЗрдВ dictionaries рдореЗрдВ рд╕рдорд╛рди keys рд╣реИрдВред рдХреЗрд╡рд▓ рдкрд╣рд▓реА key рд░рдЦреА рдЬрд╛рддреА рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЙрд╕рд╕реЗ рд╕рдВрдмрджреНрдз рдорд╛рди рдХреЛ рдмрд╛рдж рдореЗрдВ рд╕рдорд╛рди key рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝реЗ рдЧрдП рдЕрдВрддрд┐рдо рдорд╛рди рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд░рдЦреА рдЧрдИ key рдЗрдиреНрдЯреАрдЬрд░
10рд╣реИ, рдкрд░ рдЙрд╕рдХрд╛ рдорд╛рди рд╕реНрдЯреНрд░рд┐рдВрдЧ"Float 10"рд╣реИред рджреВрд╕рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, keyTrue, рдЬреЛ1рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ, рдХреЗ рд╕рд╛рде рдорд╛рди"Integer 1"рдЬреБрдбрд╝рд╛ рд╣реИредрдЕрджреНрд╡рд┐рддреАрдп рддрддреНрд╡реЛрдВ рдпрд╛ keys рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдХрд╛рд░рдг, рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдХрдИ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдореЗрдВ sets рдФрд░ dictionaries рдХреА рднреВрдорд┐рдХрд╛ рд╣реИред
Set рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реВрдЪреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдПрдБ
рд╕реВрдЪреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╕реВрдЪреА рдХреЛ set рдореЗрдВ рдХрд╛рд╕реНрдЯ рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рд╡рд╛рдкрд╕ рд╕реВрдЪреА рдореЗрдВред set рдореЗрдВ рдХреЗрд╡рд▓ рдЕрджреНрд╡рд┐рддреАрдп рдорд╛рди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, 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 рдмрди рдЬрд╛рддреЗ рд╣реИрдВ:рдЪреВрдБрдХрд┐ dictionary рдХреА keys рдЕрджреНрд╡рд┐рддреАрдп рд╣реЛрддреА рд╣реИрдВ, dictionary рдмрдирд╛рддреЗ рд╕рдордп рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдорд╛рди рд╣рдЯ рдЬрд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк Python 3.7 рдпрд╛ рдмрд╛рдж рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ keys рдХрд╛ рдХреНрд░рдо рд╕реВрдЪреА рдХреЗ рдЖрдЗрдЯрдореЛрдВ рдХреЗ рдХреНрд░рдо рдЬреИрд╕рд╛ рд╣реА рд╣реЛрдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реИред рд╕рднреА keys рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди
Noneрд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдорд╛рдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ dictionary рдХреЛ рд╡рд╛рдкрд╕ рд╕реВрдЪреА рдореЗрдВ рдХрд╛рд╕реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:рдХрд┐рд╕реА dictionary рдХреЛ рд╕реВрдЪреА рдореЗрдВ рдХрд╛рд╕реНрдЯ рдХрд░рддреЗ рд╕рдордп рдХреЗрд╡рд▓ keys рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рддрдХрдиреАрдХ рдореВрд▓ рд╕реВрдЪреА рдХреЛ рдРрд╕реА рдирдИ рд╕реВрдЪреА рдореЗрдВ рдмрджрд▓ рджреЗрддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдирд╣реАрдВ рд╣реЛрддреЗ рдФрд░ рдЖрдЗрдЯрдореЛрдВ рдХрд╛ рдореВрд▓ рдХреНрд░рдо рдмрдирд╛ рд░рд╣рддрд╛ рд╣реИред
рд╕реВрдЪреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдиреЗ рдХреЗ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк
рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ рджрд┐рдП рдЧрдП рд╡рд┐рдХрд▓реНрдк рдЙрди рджреЛ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рд╕реВрдЪреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдиреЗ рд╣реЛрддреЗ рд╣реИрдВ:
dict.fromkeys()рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВредрдЕрдзрд┐рдХрд╛рдВрд╢ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдпреЗ рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдк рд╕рдВрднрд╡рддрдГ рд╕рд░реНрд╡реЛрддреНрддрдо рд╕рдорд╛рдзрд╛рди рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕реВрдЪреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдиреЗ рдХреА рдЕрдиреНрдп рддрдХрдиреАрдХреЗрдВ рднреА рд╣реИрдВред
рд▓реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирдИ рд╕реВрдЪреА рдмрдирд╛рдирд╛
рдПрдХ рд╕реАрдзрд╛ рд╡рд┐рдХрд▓реНрдк рдпрд╣ рд╣реИ рдХрд┐ рдореВрд▓ рд╕реВрдЪреА рдкрд░ рдЗрдЯрд░реЗрдЯ рдХрд░реЗрдВ рдФрд░ рдирдП рдЖрдЗрдЯрдореЛрдВ рдХреЛ рдирдИ рд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рдЬрд╛рдПрдБ:
рдирдИ рд╕реВрдЪреА
unique_namesрдХреЛforрд▓реВрдк рд╕реЗ рдкрд╣рд▓реЗ рдЦрд╛рд▓реА рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рдЖрд░рдВрдн рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ рдЖрдЗрдЯрдо рдкрд╣рд▓реЗ рд╕реЗ рдЗрд╕рдореЗрдВ рдирд╣реАрдВ рд╣реИ рддреЛ рдЙрд╕реЗ рдирдИ рд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг рдореВрд▓ рд╕реВрдЪреА рдХреЗ рдЖрдЗрдЯрдореЛрдВ рдХрд╛ рдХреНрд░рдо рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐forрд▓реВрдк рд╕реВрдЪреА рдореЗрдВ рдХреНрд░рдо рд╕реЗ рдЗрдЯрд░реЗрдЯ рдХрд░рддрд╛ рд╣реИредрдмрдбрд╝реА рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдорд╛рдзрд╛рди рдЕрдХреНрд╖рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдорд╛рди рд▓реЗрдВ рдХрд┐ рдПрдХ рд▓рдВрдмреА рд╕реВрдЪреА рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рд╕реЗ рдмрдиреА рд╣реИред рд╣рдо рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреА рддреБрд▓рдирд╛
dict.fromkeys()рд╡рд╛рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:timeit()рдлрд╝рдВрдХреНрд╢рди, рдЗрд╕реА рдирд╛рдо рдХреЗ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ, рдХрд┐рд╕реА рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рд╕рдордп рдорд╛рдкрддрд╛ рд╣реИред рд╕реНрдЯреЗрдЯрдореЗрдВрдЯреНрд╕ рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВtimeit.timeit()рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдЙрдЯрдкреБрдЯ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐forрд▓реВрдк рд╡рд╛рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдгdict.fromkeys()рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╛рдлреА рдзреАрдорд╛ рд╣реИред рд╡рд┐рднрд┐рдиреНрди рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдФрд░ рд╕реЗрдЯрдЕрдкреНрд╕ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдЕрд▓рдЧ рд╣реЛрдЧрд╛, рдкрд░dict.fromkeys()рд╡рд┐рдХрд▓реНрдк рд╣рдореЗрд╢рд╛ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд░реВрдк рд╕реЗ рддреЗрдЬрд╝ рд░рд╣реЗрдЧрд╛редset рдХреЗ рд╕рд╛рде рд╕реВрдЪреА рд╕рдореЗрдХрди (list comprehension) рдХрд╛ рдЙрдкрдпреЛрдЧ
рдкрд┐рдЫрд▓реЗ рд╕реЗрдХреНрд╢рди рдХреЗ
forрд▓реВрдк рдХреЛ list comprehension рдореЗрдВ рдмрджрд▓рд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ifрд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдЬрд╛рдБрдЪрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдЖрдЗрдЯрдо рдирдИ рд╕реВрдЪреА рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред list comprehension рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдПрдХ set рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рдЖрдЗрдЯрдореЛрдВ рдХрд╛ рдЯреНрд░реИрдХ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╕реВрдЪреА рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдЬреЛрдбрд╝реЗ рдЬрд╛ рдЪреБрдХреЗ рд╣реИрдВ:рдпрд╣ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдкреВрд░реНрдгрддрд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдкрдардиреАрдпрддрд╛ рдореЗрдВ рдХрдореА рд░рдЦрддрд╛ рд╣реИ рдФрд░
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рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:рдЕрдм рд╣рдо рд╕реВрдЪреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП
more_itertools.unique_everseen()рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:рдЪреВрдБрдХрд┐
unique_everseen()рдПрдХ iterator рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдЙрд╕рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╕реВрдЪреА рдореЗрдВ рдХрд╛рд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИредрдПрдХ рдФрд░ рд▓реЛрдХрдкреНрд░рд┐рдп рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ NumPy, рдЬреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдиреЗ рдХрд╛ рд╕рдорд╛рдзрд╛рди рднреА рджреЗрддреА рд╣реИред NumPy рдХреЛ
pipрдпрд╛ рдЕрдиреНрдп рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:NumPy рдХрд╛
unique()рдлрд╝рдВрдХреНрд╢рди рдЕрдкрдиреЗ рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯ рд╕реЗ рдЕрджреНрд╡рд┐рддреАрдп рддрддреНрд╡реЛрдВ рд╡рд╛рд▓рд╛ рдПрдХ NumPy array рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЗрд╕ NumPy array рдХреЛ NumPy рдХреЗ.tolist()рд╕реЗ рд╕реВрдЪреА рдореЗрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:рд╣рд╛рд▓рд╛рдБрдХрд┐, рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ NumPy рдХрд╛
unique()рдЖрдЗрдЯрдореЛрдВ рдХрд╛ рдХреНрд░рдо рдирд╣реАрдВ рдмрдирд╛рдП рд░рдЦрддрд╛ред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдпрд╣ рдХреНрд░рдордмрджреНрдз рдЖрдЗрдЯрдо рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдПрдХ рдФрд░ рд▓реЛрдХрдкреНрд░рд┐рдп рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА, Pandas, рдХрд╛unique()рдлрд╝рдВрдХреНрд╢рди рднреА рдЗрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЖрдЗрдЯрдореЛрдВ рдХрд╛ рдХреНрд░рдо рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИред NumPy рдФрд░ Pandas рдХреЗ рд╕рдорд╛рдзрд╛рди рддрдм рдЖрджрд░реНрд╢ рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рдпреЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдкрд╣рд▓реЗ рд╕реЗ рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧ рд╣реЛ рд░рд╣реА рд╣реЛрдВ рдФрд░ рдХреЗрд╡рд▓ рд╕реВрдЪреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдиреНрд╣реЗрдВ рдЕрд▓рдЧ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдФрд░ рдЗрдореНрдкреЛрд░реНрдЯ рди рдХрд░рдирд╛ рдкрдбрд╝реЗредрдХреНрдпрд╛
dict.fromkeys()set рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИ?рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рджрд┐рдП рдЧрдП рдкрд╣рд▓реЗ рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реА рд╕рд░реНрд╡реЛрддреНрддрдо рд╣реЛрддреЗ рд╣реИрдВ:
dict.fromkeys()рджреНрд╡рд╛рд░рд╛ dictionary рдмрдирд╛рдПрдБ рдФрд░ рдЙрд╕реЗ рд╡рд╛рдкрд╕ рд╕реВрдЪреА рдореЗрдВ рдХрд╛рд╕реНрдЯ рдХрд░реЗрдВредDictionary рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдЗрдЯрдореЛрдВ рдХрд╛ рдХреНрд░рдо рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдЗрдЯрдореЛрдВ рдХреЗ рдХреНрд░рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ set рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реИ рдФрд░ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рджреЗ рд╕рдХрддрд╛ рд╣реИред
рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░ рдХреЛ
timeitрд╕реЗ рдкрд░рд┐рдорд╛рдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:set рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реВрдЪреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдирд╛, dictionary рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд▓рдЧрднрдЧ рджреЛрдЧреБрдирд╛ рддреЗрдЬрд╝ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
Python рдФрд░ рдЗрд╕рдХреА рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рд╕реВрдЪреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдиреЗ рдХреЗ рдХрдИ рд╡рд┐рдХрд▓реНрдк рджреЗрддреА рд╣реИрдВред
рдЖрдк рдЗрди рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯреНрд╕ рд╕реЗ Python рд╕реАрдЦрдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ: