Learn Python Coding
39.1K subscribers
639 photos
31 videos
24 files
398 links
Learn Python through simple, practical examples and real coding ideas. Clear explanations, useful snippets, and hands-on learning for anyone starting or improving their programming skills.

Admin: @HusseinSheikho || @Hussein_Sheikho
Download Telegram
Shuffling without repetitions:

import random

# Initial list of candidates or prizes
participants = ["Alexey", "Maria", "Ivan", "Olga", "Dmitry"]

# 1. Selecting 3 unique winners (sample without replacement)
winners = random.sample(participants, k=3)
print(f"Winners: {winners}")
# The result is different each time, but there will be no repetitions within the list of winners!

# 2. Shuffling an entire string (creating an anagram)
word = "python"
shuffled_word = "".join(random.sample(word, len(word)))
print(f"Anagram: {shuffled_word}")

# 3. Important difference: random.choices allows repetitions
print(f"With repetitions: {random.choices(participants, k=3)}")

Honest selection and generation of unique sets

When it's necessary to implement the logic of prize draws, random task distribution, or generating test questions, developers often use random.choice() in a loop. But this approach requires manually ensuring that the same element is not selected twice. The random.sample function takes on this routine.

Guarantee of uniqueness: The main property of random.sample is "without replacement". The extracted element no longer participates in the next selection cycle, which completely eliminates duplicates in the resulting list.

Safety of the original: The function does not modify the original list (unlike random.shuffle()), but creates a completely new array with the results. This allows the structure of the original data to remain intact.

Strict control of size: If you pass a parameter k (the number of elements) that exceeds the length of the original list, Python will not start duplicating elements and will immediately throw an ValueError error. This protects the program logic from incorrect data.

#Python #Random #Coding #NoRepetition #DataScience #UniqueSets

Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk

⭐️ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A

🚀 Level up your AI & Data Science skills with HelloEncyclo — a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
13 courses live + 40+ coming soon
🎯 One access, lifetime updates
🔑 Use code: PRESALE-BOOK-WAVE-2GFG
👉 https://helloencyclo.com/?ref=HUSSEINSHEIKHO
2
Convert PDF to structured JSON — in a couple of lines and without hassle! 📄

Today, we'll create a mini-service that takes a PDF document, extracts the text from it, and asks GPT to neatly organize the content into sections: title, author, date, and a list of sections. 🚀

First, let's connect the necessary libraries and API key:

import os
from PyPDF2 import PdfReader
from openai import OpenAI

client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))

Now, let's extract the text from the PDF. We'll loop through all the pages and combine them into a single string:

reader = PdfReader("document.pdf")
text = "
".join(page.extract_text() for page in reader.pages)

Next, we'll send the obtained text to GPT. We'll ask the model to return a structured JSON with the necessary fields:

response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": (
"You are a PDF parser. Return a JSON with the fields: title, author, date, sections. "
"Each section is an object with name and summary."
)},
{"role": "user", "content": text}
]
)

Output the result:

structured = response.choices[0].message.content.strip()
print(structured)

🔥 Suitable for contracts, reports, methodologies, and any PDFs — we immediately get a JSON ready for use.

#PDF #JSON #Python #GPT #Automation #DataScience

Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk

⭐️ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A

🚀 Level up your AI & Data Science skills with HelloEncyclo — a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
13 courses live + 40+ coming soon
🎯 One access, lifetime updates
🔑 Use code: PRESALE-BOOK-WAVE-2GFG
👉 https://helloencyclo.com/?ref=HUSSEINSHEIKHO
1