рдпрд╣ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдкрд╛рдпрдерди рдореЗрдВ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ред
рд╕реВрдЪреА рдЬрдирд░реЗрдЯрд░
рдПрдХ рд╕реВрдЪреА рдмрдирд╛рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдПрдХ рдПрдХрд▓ рд▓рд╛рдЗрди рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ - рдПрдХ рд╕реВрдЪреА рдЬрдирд░реЗрдЯрд░ред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдХреНрд╕рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдореИрдВ рдЗрд╕реЗ рдХрдИ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдФрд░ рдХрдИ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдХреЛрдб рдореЗрдВ рдорд┐рд▓рд╛ред
рдорд╛рди рд▓реАрдЬрд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ рдПрдХ рд╕реВрдЪреА рджреЗрддрд╛ рд╣реИред рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рд░реЗрдВрдЬ (рд╕реНрдЯрд╛рд░реНрдЯ, рдПрдВрдб) рдлрд╝рдВрдХреНрд╢рди рд╣реИ, рдЬреЛ рдкреНрд░рд╛рд░рдВрдн рдФрд░ рдЕрдВрдд рдХреЗ рдмреАрдЪ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рд╕рдВрд╕реНрдХрд░рдг рдкрд╛рдпрдерди 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()