рд╢рдмреНрджрдХреЛрд╢ рдЬрдирд░реЗрдЯрд░

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



рдпрд╣ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдкрд╛рдпрдерди рдореЗрдВ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ред



рд╕реВрдЪреА рдЬрдирд░реЗрдЯрд░




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

рдорд╛рди рд▓реАрдЬрд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ рдПрдХ рд╕реВрдЪреА рджреЗрддрд╛ рд╣реИред рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рд░реЗрдВрдЬ (рд╕реНрдЯрд╛рд░реНрдЯ, рдПрдВрдб) рдлрд╝рдВрдХреНрд╢рди рд╣реИ, рдЬреЛ рдкреНрд░рд╛рд░рдВрдн рдФрд░ рдЕрдВрдд рдХреЗ рдмреАрдЪ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рд╕рдВрд╕реНрдХрд░рдг рдкрд╛рдпрдерди 3.0 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ, рдпрд╣ рдПрдХ рдЬрдирд░реЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рддреБрд░рдВрдд рдкреВрд░реА рд╕реВрдЪреА рдирд╣реАрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдПрдХ рдирдВрдмрд░ рджреЗрддрд╛ рд╣реИред рдкрд╛рдпрдерди 2. * рдореЗрдВ, xrange () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ 1 рд╕реЗ 10 рддрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддрд╛ рд╣реИ:

numbers = [] for i in range(1, 11): numbers.append(i)
      
      





рдпрджрд┐ рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдирдВрдмрд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЗрд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 numbers = [] for i in range(1, 11): if i % 2 == 0: numbers.append(i)
      
      





рд╕реВрдЪреА рдЬрдирд░реЗрдЯрд░ рдХреЛрдб рдХреЛ рдмрд╣реБрдд рдЖрд╕рд╛рди рдмрдирд╛рддреЗ рд╣реИрдВред рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рдореЗрдВ рд╕реВрдЪреА рдХреЛ рдХреИрд╕реЗ рд▓реМрдЯрд╛рддрд╛ рд╣реИ:

 [ expression for item in list if conditional ]
      
      





рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдкрд╣рд▓рд╛ рдЙрджрд╛рд╣рд░рдг рдЗрд╕ рддрд░рд╣ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 numbers = [i for i in range(1, 11)]
      
      





рдФрд░ рджреВрд╕рд░рд╛ рдЗрд╕ рддрд░рд╣ рд╣реИ:

 numbers = [i for i in range(1, 11) if i % 2 == 0]
      
      





рдмреЗрд╢рдХ, рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рдРрд╕рд╛ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдЕрдЬреАрдм рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрджрдд рд╣реЛ рдЬрд╛рдПрдЧреА, рддреЛ рдХреЛрдб рд╕рд░рд▓ рдФрд░ рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖ рдЬрд╛рдПрдЧрд╛ред



рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣рдЯрд╛рдирд╛


рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдПрдХ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдп рд╕рдорд╛рди рддрддреНрд╡реЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рдирд╛ рд╣реИред рдЗрд╕реЗ рдХрдИ рддрд░реАрдХреЛрдВ рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдо рдЗрд╕ рддрд░рд╣ рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ:

 numbers = [i for i in range(1,11)] + [i for i in range(1,6)]
      
      





рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдХрдард┐рди рддрд░реАрдХрд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

 unique_numbers = [] for n in numbers: if n not in unique_numbers: unique_numbers.append(n)
      
      





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

 unique_numbers = list(set(numbers))
      
      







рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣рдЯрд╛рдПрдВ


рд╡рд╕реНрддреБрдУрдВ рдпрд╛ рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╕реНрдерд┐рддрд┐ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 data = [ {'id': 10, 'data': '...'}, {'id': 11, 'data': '...'}, {'id': 12, 'data': '...'}, {'id': 10, 'data': '...'}, {'id': 11, 'data': '...'}, ]
      
      





рджреЛрд╣рд░рд╛рд╡ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЛ рдХрдо рдпрд╛ рдЬреНрдпрд╛рджрд╛ рдХреЛрдб рдХреЗ рд╕рд╛рде рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдмреЗрд╢рдХ, рдХрдо рдмреЗрд╣рддрд░ рд╣реИ! рдПрдХ рд▓рдВрдмрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:

 unique_data = [] for d in data: data_exists = False for ud in unique_data: if ud['id'] == d['id']: data_exists = True break if not data_exists: unique_data.append(d)
      
      







рдЖрдк рдЙрд╕реА рдЕрд╡рд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдореИрдВрдиреЗ рдХреБрдЫ рджрд┐рдиреЛрдВ рдкрд╣рд▓реЗ рд╕реАрдЦрд╛ рдерд╛: рд╢рдмреНрджрдХреЛрд╢ рдЬрдирд░реЗрдЯрд░ред рдЙрдирдХреЗ рдкрд╛рд╕ рд╕реВрдЪреА рдЬрдирд░реЗрдЯрд░ рдХреЗ рд╕рдорд╛рди рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╢рдмреНрджрдХреЛрд╢ рд▓реМрдЯрд╛рдПрдВ:

 { key:value for item in list if conditional }
      
      





рдпрджрд┐ рд╣рдо рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдХреЗрд╡рд▓ рдПрдХ рдкрдВрдХреНрддрд┐ рд╢реЗрд╖ рд╣реИ:

 { d['id']:d for d in data }.values()
      
      





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

рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ Python 3.0 рдореЗрдВ рдЬреЛрдбрд╝реА рдЧрдИ рдереА рдФрд░ Python 2.7 рдореЗрдВ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдкрд╣рд▓реЗ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ, рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 dict((key, value) for item in list if condition)
      
      





рдЯреНрдпреВрдкрд▓реНрд╕ (рдЬреЛрдбрд╝реЗ) рдХреА рдПрдХ рд╕реВрдЪреА рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ рдФрд░ рдЙрдирдХреЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рддрд╛рдирд╛рд╢рд╛рд╣реА () рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рдЯреНрдпреВрдкрд▓ рдХреЗ рдкрд╣рд▓реЗ рддрддреНрд╡ рдФрд░ рджреВрд╕рд░реЗ рдХреЛ рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддрд╛ рд╣реИред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:

 dict((d['id'], d) for d in data).values()
      
      






All Articles