scores = [12, 19, 7, 22, 15]مسائل الفهرسة والاستخراج
1. قائمة: استخراج عنصر بفهرس موجب
لديك القائمة التالية. استخدم فهرسة موجبة فقط ([0]، [1]، …) لاستخراج العنصر المطلوب.
المطلوب: اكتب تعبير فهرسة واحدًا يعيد 22.
# CODE HERE2. قائمة: استخراج عنصر بفهرس سالب
لديك القائمة نفسها. استخدم فهرسة سالبة فقط لاستخراج:
scores = [12, 19, 7, 22, 15]المطلوب: تعبيران: أحدهما يعيد 15 والآخر يعيد 22.
# CODE HERE3. قائمة: استخراج تسلسل باستخدام الشرائح start:stop
استخدم الشريحة (بدون خطوة) لاستخراج جزء متصل من القائمة:
letters = ['a', 'b', 'c', 'd', 'e', 'f']المطلوب: شريحة واحدة تعيد ['c', 'd', 'e'].
# CODE HERE4. قائمة: شريحة بحدود سالبة لاستخراج جزء محدّد
استخدم شريحة يكون فيها start أو stop (أو كلاهما) سالبًا لاستخراج آخر عنصرين:
letters = ['a', 'b', 'c', 'd', 'e', 'f']المطلوب: تعبير شريحة واحد يعيد ['e', 'f'] دون استخدام أرقام موجبة داخل [ ].
# CODE HERE5. قائمة: استبدال قيمة عند فهرس معيّن
غيّر القائمة في مكانها بحيث تصبح القيمة عند الفهرس 2 هي 99:
values = [10, 20, 30, 40]المطلوب: سطر إسناد واحد يستخدم الفهرسة.
# CODE HERE6. قائمة: إيجاد الفهرس بالقيمة ثم الاستبدال
ابحث عن أول موضع للقيمة 20 ثم استبدلها بـ 200:
values = [10, 20, 30, 20, 40]المطلوب: استخدم دالة تبحث بالقيمة (مثل .index(...)) ثم الإسناد بالفهرس.
# CODE HERE7. قائمة: كل عنصر ثان باستخدام start:stop:step
من القائمة التالية، استخرج كل عنصر ثان بدءًا من الأول، ثم كل عنصر ثان بدءًا من الثاني:
nums = [0, 1, 2, 3, 4, 5, 6, 7]المطلوب: شريحتان بصيغة [start:stop:step] (يمكن إهمال start/stop عند الحاجة).
# CODE HERE8. قائمة متداخلة: استخراج عنصر داخلي
grid = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
]المطلوب: تعبير فهرسة متداخلة واحد يعيد العدد 6.
# CODE HERE9. قاموس: استخراج قيمة بمفتاح
person = {'name': 'Sara', 'age': 31, 'city': 'Riyadh'}المطلوب: تعبير يعيد 'Riyadh' (بأقواس مربعة أو .get).
# CODE HERE10. قاموس متداخل: استخراج قيمة من مستوى داخلي
config = {
'app': 'demo',
'db': {'host': 'localhost', 'port': 5432},
'debug': True,
}المطلوب: تعبير يعيد 5432.
# CODE HERE11. قائمة من قواميس وقوائم داخلية: أعمق قيمة في البنية
البنية التالية: قائمة من قواميس؛ كل قاموس يحتوي مفتاحًا قيمته قائمة. استخرج قيمة من أعمق قائمة كما يُطلب.
teams = [
{
'name': 'Alpha',
'scores': [10, 12, 9],
},
{
'name': 'Beta',
'scores': [14, 11, 16, 8],
},
]المطلوب: تعبير فهرسة/مفاتيح واحد متسلسل (قائمة → قاموس → مفتاح scores → فهرس داخل القائمة) يعيد 8.
# CODE HERE13. قاموس داخل قاموس
إذا كان لديك قاموس متداخل كالتالي:
user_preferences = {
'theme': 'dark',
'language': 'Arabic',
'notifications': {
'email': True,
'sms': False,
'push': True
},
'last_updated': '2021-09-01',
'emails': ['example1@domain.com', 'example2@domain.com']
}المطلوب أن تسحب من تفضيلات المستخدم المتغيرات التالية:
themesms- آخر عنصر في:
emails
# CODE HERE14. قائمة قواميس
إليك هذه القائمة من القواميس:
data = [
{
'name': 'Ahmad Hamada',
'experiences': [
{
'company': 'Geo Space',
'start': '2038-01-01',
'end': '2039-01-01',
'role': 'Junior Software Engineer',
},
{
'company': 'Space Roots',
'start': '2039-01-01',
'end': '2041-01-01',
'role': 'Senior Software Engineer',
},
],
},
{
'name': 'Belal Banana',
'experiences': [
{
'company': 'Banana Tech',
'start': '2041-01-01',
'end': '2042-01-01',
'role': 'Smoothie Operator',
},
{
'company': 'BugSquash Labs',
'start': '2042-02-01',
'end': '2043-08-01',
'role': 'Code Pest Control Specialist',
},
{
'company': 'Caffeinated Circuits Inc.',
'start': '2043-09-01',
'end': '2045-05-01',
'role': 'Espresso-Driven Engineer',
}
]
},
]والمطلوب هو التالي:
- استخرج اسم المرشح الثاني
- استخرج اسم الشركة الثانية التي عمل فيها المشرح الأول
- للمرشح الأول، استخرج وقت البداية لأول شركة، ووقت النهاية لآخر شركة
- استخرج قاموس الخبرة التي فيها القيمة:
role: "Espresso-Driven Engineer"
# CODE HERE