در حال بارگذاری...

مرتب کردن

sorted(words) یک فهرست تازه می‌سازد و words را همان‌طور که هست می‌گذارد. words اول soup است، بعد bread، بعد rice. فهرست تازه را حرف اول تعیین می‌کند: b در bread، بعد r در rice، بعد s در soup. پس فهرست تازه bread است، بعد rice، بعد soup.

نام ordered همان فهرست تازه است. words هنوز soup است و بعد bread و بعد rice. تعداد هر دو 3 است. چیزی اضافه نشده و چیزی کم نشده. فقط ترتیب در فهرست تازه فرق دارد.

فهرست تازه به ترتیب

python
words = ["soup", "bread", "rice"]
ordered = sorted(words)

print(words)
print(ordered)

خط اول soup است، بعد bread، بعد rice. خط دوم bread است، بعد rice، بعد soup. soup هنوز در words اول است. bread فقط در ordered اول است.

words.sort() همان فهرستی را که دارید جابه‌جا می‌کند. فهرست دومی در کار نیست. بعد از آن، خود words می‌شود bread، بعد rice، بعد soup. حاصل این کار آن فهرست نیست. اگر result = words.sort() بنویسید، result برابر None می‌شود و مقدارهای مرتب داخل words می‌مانند. آن خط در برنامهٔ پایین نیست.

همان فهرست، با ترتیب تازه

python
words = ["soup", "bread", "rice"]
words.sort()

print(words)

روی صفحه bread است، بعد rice، بعد soup. soup دیگر اول نیست. این همان فهرستی است که با آن شروع کردید، فقط جایگاه‌ها عوض شده‌اند.

counts اول 5 است، بعد 0، بعد 2. counts.sort() این عددها را از روی اندازه مرتب می‌کند. 0 از 2 کوچک‌تر است و 2 از 5 کوچک‌تر، پس فهرست می‌شود 0، بعد 2، بعد 5. آن 0 یک عدد ذخیره‌شده است. جلو می‌آید چون از بقیه کوچک‌تر است، نه به خاطر شمارهٔ جایگاه.

عددها از روی اندازه

python
counts = [5, 0, 2]
counts.sort()

print(counts)

روی صفحه 0 است، بعد 2، بعد 5. تعداد هنوز 3 است. عدد تازه‌ای نیامده و عددی هم نرفته.

صفحهٔ بعد چندتایی ثابت است. این صفحه فقط مقدارهای یک فهرست را مرتب می‌کند. آن گروه را نمی‌سازد.

سه صفحه

  1. برنامهٔ اول خط اول چه می‌نویسد و بعد خط دوم؟
  2. بعد از words.sort()، خود words چیست؟
  3. برنامهٔ سوم چه می‌نویسد؟
  4. اگر result = words.sort() بنویسید، result چه می‌شود؟

bread جلوتر از soup

صفحهٔ اول soup و bread و rice را نگه می‌دارد و بعد bread و rice و soup را نشان می‌دهد. words.sort() داخل خود words مقدار bread را می‌گذارد، بعد rice، بعد soup. counts.sort() عدد 0 را می‌نویسد، بعد 2، بعد 5. result = words.sort() مقدار result را None می‌کند. صفحهٔ بعد چندتایی ثابت است. این صفحه فقط یک فهرست را مرتب می‌کند.

🧠 دانش خود را بیازمایید

آماده شروع

دانش خود را بیازمایید

خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کرده‌اید

❓
4
سوالات
🎯
70%
برای قبولی
♾️
∞
زمان
🔄
∞
تلاش‌ها

📝 دستورالعمل‌ها

  • هر سوال را با دقت بخوانید
  • بهترین پاسخ را برای هر سوال انتخاب کنید
  • می‌توانید آزمون را هر چند بار که می‌خواهید تکرار کنید
  • پیشرفت شما در بالا نمایش داده می‌شود