Kentucky Derby முடிவுகள்

Kentucky Derby-யில் வென்றவர் யார்?

பட்டியல்களுக்கு அப்பால்: நிகழ்நேர ஸ்லைடிங் விண்டோஸுக்கு பைதான் டிக்யூவைப் பயன்படுத்துதல் | தரவு அறிவியலை நோக்கி

பட்டியல்களுக்கு அப்பால்: நிகழ்நேர ஸ்லைடிங் விண்டோஸுக்கு பைதான் டிக்யூவைப் பயன்படுத்துதல் | தரவு அறிவியலை நோக்கி


அல்லது வெறுமனே dequeஇது ஒரு அசாதாரண வகை சேகரிப்பு. நாம் இணையத்தில் தேடினால், பட்டியல்கள், அகராதிகள் மற்றும் tuples பற்றி நிறைய தகவல்களைக் காணலாம், ஆனால் deques பற்றி கொஞ்சம்.

Deque (நீங்களும் உச்சரிக்கலாம்”தளம்”) பைத்தானில் ஒரு சுவாரஸ்யமான மற்றும் பயனுள்ள சேகரிப்பு வகை. மற்ற பொருட்களிலிருந்து வேறுபடுத்துவது என்னவென்றால், நீங்கள் விரும்பும் பொருட்களின் எண்ணிக்கையை மட்டுமே வைத்திருக்கும் அல்லது குறைவாக இருக்கும்.

இரட்டை வரிசையில் நீங்கள் தீர்மானிக்கும் உருப்படிகளின் எண்ணிக்கை வரை மட்டுமே இருக்கும். இனி ஒருபோதும்.

எனவே இது ஒன்றாக செயல்படுகிறது தளம்FIFO அமைப்பைப் பயன்படுத்தி (முதலில், முதலில் வெளியே). ஸ்டாக் நிரம்பியதும், நீங்கள் மற்றொரு உறுப்பைச் சேர்த்தால், அது இடதுபுறத்தில் உள்ள முதல் உறுப்பைக் கைவிட்டு, புதியதை வலதுபுறத்தில் சேர்க்கும்.

இந்தத் தொகுப்பைப் புரிந்துகொள்ள சில அடிப்படை உதாரணங்களைப் பார்ப்போம். முதலில், சேகரிப்புகளில் இருந்து இறக்குமதி செய்யவும்: from collections import deque.

ஒரு டிக்யூவை உருவாக்குதல்

அடுத்து, நாங்கள் ஒரு எளிய தொகுப்பை உருவாக்கி, அதில் அதிகபட்சமாக 3 உருப்படிகளைச் சேர்ப்போம்.

# Create a new deque with 3 (or less) elements
my_deck = deque(maxlen = 3)

# Adding one element
my_deck.append(1)
my_deck.append(2)
my_deck.append(3)

# View
my_deck
# deque([1, 2, 3])

அழகான. எங்கள் அடுக்கு நிரம்பியதும், நான் அதற்கு மற்றொரு மதிப்பைச் சேர்க்க முயற்சிக்கும்போது என்ன நடக்கிறது என்பதைக் கவனியுங்கள். இடமிருந்து முதல் உருப்படி (1) நிராகரிக்கப்பட்டது, வலதுபுறத்தில் இணைக்கப்பட்ட புதிய உறுப்புக்கு இடமளிக்கிறது (extra)

# It drops the first element and adds the new one at the end.
my_deck.append('extra')
deque([2, 3, 'extra'])

இது FIFO (First In, First Out) அமைப்பைப் பயன்படுத்தி ஒரு பாலமாக செயல்படுகிறது.

இடதுபுறத்தில் கூறுகளைச் சேர்க்கவும்

இப்போது, ​​சேகரிப்பு என்று பெயரிடப்பட்டுள்ளது என்பதை நினைவில் கொள்க இரட்டை வால் ; எனவே நீங்கள் உறுப்புகளை இடதுபுறமாக சேர்க்கலாம் அல்லது நீட்டிக்கலாம். இந்த வழக்கில், நிச்சயமாக, வலதுபுறத்தில் உள்ள உறுப்பு குறையும்.

# Append to left
my_deck.appendleft('left')
# [OUT]: deque(['left', 2, 3])

# Extend to left
my_deck.extendleft(['d', 'd'])
#[OUT]: deque(['d', 'd', 'left'])

பொருட்களை சுழற்றவும்

உறுப்புகளை ஒன்று (அல்லது அதற்கு மேற்பட்ட) நிலைகளை வலது அல்லது இடது பக்கம் நகர்த்துவதன் மூலமும் நீங்கள் அவற்றைச் சுழற்றலாம்.

# Create a new deque with 3 (or less) elements
my_deck = deque(maxlen = 3)

# Adding one element
my_deck.extend([1,2,3]) # deque([1, 2, 3])
# Rotating the elements by one position to the right
my_deck.rotate() # deque([3, 1, 2])

# Rotate to the left
my_deck.rotate(-1) # deque([1, 2, 3])

சுழற்சிக்கு கூடுதலாக, டெக்கை முழுவதுமாக மாற்றுவது எளிது.

# New deck
my_deck.extend([1, 2, 3]) 
#[OUT]: deque([1, 2, 3])

# Reverse deck
my_deck.reverse() 
# [OUT]: deque([3, 2, 1])

கட்டுரைகளை அகற்றுதல்

டெக்கில், இடது, வலது அல்லது பெயரிலிருந்து ஒரு பொருளை அகற்றலாம்.

# New deck
my_deck = deque(maxlen = 3)
my_deck.extend([1, 2, 3]) 
# [OUT]: deque([1, 2, 3])

# Remove item from the left
my_deck.popleft() 
# [OUT]: deque([2, 3])

#---

# New deck
my_deck = deque(maxlen = 3)
my_deck.extend([1, 2, 3]) 
# [OUT]: deque([1, 2, 3])

# Remove item from the right
my_deck.pop() 
# [OUT]: deque([1, 2])

#---

# New deck
my_deck = deque(maxlen = 3)
my_deck.extend([1, 'a', 3]) 
# [OUT]: deque([1, 'a', 3])

# Remove item by name
my_deck.remove('a') 
# [OUT]: deque([1, 3])

நீங்கள் அனைத்து பொருட்களையும் அகற்றலாம் மற்றும் உங்கள் மூட்டை நீக்கலாம்.

my_deck.clear() 
#[OUT]: deque([])

விண்ணப்பங்கள்

1. “சமீபத்திய தேடல் வரலாறு” (நினைவக மேலாண்மை)

பட்டியல்கள் முடிவில்லாமல் வளரும் போது, deque ஒரு உள்ளது maxlen அளவுரு. “சமீபத்தில் பார்த்தது” அல்லது “சமீபத்திய தேடல் வரலாறு” போன்ற அம்சங்களுக்கு இது சரியானது, அங்கு நீங்கள் கடைசியாக மட்டுமே வைத்திருக்க விரும்புகிறீர்கள் என் பழையவற்றை கைமுறையாக நீக்காமல் உருப்படிகள்.

# Keep only the last 3 user searches
search_history = deque(maxlen=3)

search_history.append("Python tutorials")
search_history.append("Machine Learning")
search_history.append("Data Science")
search_history.append("Deep Learning") # "Python tutorials" is automatically removed

print(list(search_history))
# Output: ['Machine Learning', 'Data Science', 'Deep Learning']

2. நேரடி தரவு ஸ்ட்ரீம் மற்றும் மொபைல் சூழல்கள்

தரவு அறிவியல் அல்லது IoT இல், நீங்கள் அடிக்கடி ஒரு ஸ்ட்ரீமின் நகரும் சராசரியைக் கணக்கிட வேண்டும் (வெப்பநிலை உணரிகள் அல்லது பங்கு விலைகள் போன்றவை). ஒரு பயன்படுத்தி deque தரவு “ஸ்லைடிங் விண்டோ” திறம்பட பராமரிக்க உங்களை அனுமதிக்கிறது.

def moving_average(stream, window_size=5):
    window = deque(maxlen=window_size)
    for val in stream:
        window.append(val)
        if len(window) == window_size:
            yield sum(window) / window_size

# Usage: Calculating average of a sensor reading stream
data_stream = [20, 21, 20, 22, 23, 25, 24]
print(list(moving_average(data_stream, window_size=3)))

3. பல திரிக்கப்பட்ட பணி வரிசைகள் (த்ரெட்-பாதுகாப்பான)

இன் “மறைக்கப்பட்ட” நன்மைகளில் ஒன்று deque CPython இல் இது இதுதான் .append() மற்றும் .popleft() நான் நூல் பாதுகாப்பானது. இது ஒரு எளிய தயாரிப்பாளர்-நுகர்வோர் முறைக்கான சிறந்த தேர்வாக அமைகிறது, இதில் ஒரு நூல் பணிகளைச் சேர்க்கிறது, மற்றொன்று அவற்றைச் செயல்படுத்துகிறது.

import threading
from collections import deque

task_queue = deque()

def producer():
    for i in range(5):
        task_queue.append(f"Task {i}") # Thread-safe append

def consumer():
    while True:
        try:
            task = task_queue.popleft() # Thread-safe pop
            print(f"Processing {task}")
        except IndexError:
            break

இதை செயலில் பார்க்கலாம்.

# Generate Tasks
producer()
task_queue
# [OUT] deque(['Task 0', 'Task 1', 'Task 2', 'Task 3', 'Task 4'])

# Consume Tasks
consumer()
# [OUT]
# Processing Task 0
# Processing Task 1
# Processing Task 2
# Processing Task 3
# Processing Task 4

# Check Queue
task_queue
# [OUT] deque([])

கிளம்பும் முன்

சரி, இப்போது மற்றொரு வகை பைதான் சேகரிப்பு உங்களுக்குத் தெரியும். உங்கள் படைப்பாற்றலை நீங்கள் அனுமதிக்கலாம் மற்றும் உங்கள் நிரல் அல்லது காட்சியை உருவாக்க புதிய வழிகளைக் கண்டறியலாம்.
இந்த கட்டுரையின் சுருக்கம் எளிது:

  • தொடரியல்: deque(maxlen = n) எங்கே nஉங்கள் டெக்கில் சேமிக்க வேண்டிய உறுப்புகளின் எண்ணிக்கை.
  • முன்னிருப்பாக, முழு டெக்கில் புதிய ஒன்றைச் சேர்க்கும் போது இடதுபுறத்தில் உள்ள முதல் உறுப்பை அது நிராகரிக்கும்.
  • சேகரிப்பு deque int, float, string, dataframe போன்ற எந்த வகையான பொருட்களையும் ஏற்றுக்கொள்கிறது.
  • போன்ற பல கையாளுதல் முறைகள் உள்ளன reverse , clear , rotate , appendleft.

பட்டியல்களுக்கு அப்பால்: நிகழ்நேர ஸ்லைடிங் விண்டோஸுக்கு பைதான் டிக்யூவைப் பயன்படுத்துதல் | தரவு அறிவியலை நோக்கி

இந்த உள்ளடக்கம் உங்களுக்கு ஆர்வமாக இருந்தால், எனது இணையதளத்தில் எனது வேலையைப் பற்றி மேலும் படிக்கவும்.

https://gustavorsantos.me

குறிப்பு

சேகரிப்புகள் – கொள்கலன் தரவு வகைகள்

பைத்தானில் Deque – GeeksforGeeks

Leave a Reply

Your email address will not be published. Required fields are marked *

Instagram Reels Collection

🔥 Trending Nail Art Reels Collection