πŸ”Ž Как ΡΠΆΠ°Ρ‚ΡŒ массив Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅: эффСктивныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ инструмСнты

Для сТатия массива Π² Python Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ compress ΠΈΠ· модуля itertools.

from itertools import compress
 
numbers = [1, 2, 3, 4, 5, 6, 7, 8]
mask = [True, False, True, False, False, True, False, True]
compressed = list(compress(numbers, mask))

print(compressed)  # Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: [1, 3, 6, 8]

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΄Π²Π° списка: numbers (исходный массив) ΠΈ mask (маска), которая опрСдСляСт, ΠΊΠ°ΠΊΠΈΠ΅ элСмСнты ΠΈΠ· исходного массива Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² сТатый массив. ΠŸΡ€ΠΈ использовании Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ compress, ΠΎΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ элСмСнты, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² маскС Ρ€Π°Π²Π½ΠΎ True.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΡΠΆΠ°Ρ‚ΡŒ массив Π² Python

Когда ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ сТатии массива Π² Python, ΠΌΡ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠΌΠ΅Π΅ΠΌ Π² Π²ΠΈΠ΄Ρƒ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ элСмСнтов ΠΈ сокращСниС Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим нСсколько способов сТатия массива Π² Python ΠΈ прСдоставим ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ….

1. ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ set()

Ѐункция set() Π² Python создаСт мноТСство, удаляя ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ элСмСнты ΠΈΠ· исходного массива. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


nums = [1, 2, 3, 4, 4, 5, 5, 6]
unique_nums = list(set(nums))
print(unique_nums)
    

Π’Ρ‹Π²ΠΎΠ΄:


[1, 2, 3, 4, 5, 6]
    

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ сТатый массив, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ всС ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ элСмСнты ΡƒΠ΄Π°Π»Π΅Π½Ρ‹.

2. ИспользованиС Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° списков ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° append()

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ ΡΠΆΠ°Ρ‚ΡŒ массив Π² Python - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ списков Π² сочСтании с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ append(). Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ:


nums = [1, 2, 3, 4, 4, 5, 5, 6]
unique_nums = []
[unique_nums.append(num) for num in nums if num not in unique_nums]
print(unique_nums)
    

Π’Ρ‹Π²ΠΎΠ΄:


[1, 2, 3, 4, 5, 6]
    

Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты Π² Π½ΠΎΠ²Ρ‹ΠΉ массив, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡΠΆΠ°Ρ‚ΠΈΡŽ исходного массива.

3. ИспользованиС модуля numpy

ΠœΠΎΠ΄ΡƒΠ»ΡŒ numpy ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ unique(), которая удаляСт ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ элСмСнты ΠΈΠ· массива ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ отсортированный массив ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


import numpy as np

nums = np.array([1, 2, 3, 4, 4, 5, 5, 6])
unique_nums = np.unique(nums)
print(unique_nums)
    

Π’Ρ‹Π²ΠΎΠ΄:


[1 2 3 4 5 6]
    

ИспользованиС модуля numpy Π΄Π΅Π»Π°Π΅Ρ‚ процСсс сТатия массива Π² Python Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ эффСктивным ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ.

4. ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ pandas

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° pandas прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ² элСмСнтов. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ pandas:


import pandas as pd

nums = pd.Series([1, 2, 3, 4, 4, 5, 5, 6])
unique_nums = nums.drop_duplicates().values.tolist()
print(unique_nums)
    

Π’Ρ‹Π²ΠΎΠ΄:


[1, 2, 3, 4, 5, 6]
    

Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Series ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ pandas ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ drop_duplicates() для удалСния Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ² элСмСнтов ΠΈΠ· массива ΠΈ получСния сТатого массива.

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли нСсколько способов сТатия массива Π² Python ΠΈ прСдоставили ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ…. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ соотвСтствуСт вашим потрСбностям ΠΈ трСбованиям ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. НадСюсь, Ρ‡Ρ‚ΠΎ эта информация Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π² вашСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ!

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Π£Ρ€ΠΎΠΊΠΈ Python - Бписки (ΠœΠ°ΡΡΠΈΠ²Ρ‹)

Как ввСсти список (массив) Π² Python

Π£Ρ€ΠΎΠΊΠΈ Python / Как Π² Python Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с массивами==списками

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Python: подробная инструкция с запросами

πŸ”₯ Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ запись ΠΈΠ· Ρ„Π°ΠΉΠ»Π° python? ПолСзная инструкция с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌΠΈ объяснСниями!

πŸš€ Как ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² Python: совСты ΠΈ сСкрСты

πŸ”Ž Как ΡΠΆΠ°Ρ‚ΡŒ массив Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅: эффСктивныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ инструмСнты

Как Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ число Π±Π΅Π· остатка Π² Python? πŸ”’

βœ… Какой Python ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ для Windows 7: Π»Π΅Π³ΠΊΠΎΠ΅ руководство

Как ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС Π½Π° Python πŸ“šπŸ”