تقنية

iterencode في بايثون: هل عدد الأجزاء يساوي عدد العناصر؟

القائمة ذات العنصرين تنتج ثلاثة أجزاء في المثال.
عنصران وثلاثة أجزاء.

iterencode يعطي أجزاء نصية عند توفرها؛ الجزء ليس وحدة لعد عناصر القائمة. [1]

الخلاصة السريعة

لا؛ في المثال ثلاثة أجزاء لعنصرين، وجزء للقائمة الفارغة. [1]

  • iterencode يعطي أجزاء نصية عند توفرها؛ الجزء ليس وحدة لعد عناصر القائمة. [1]
  • نعد عناصر values نفسها، ولا نستبدل ذلك بعدد الأجزاء. [1]
  • على CPython 3.12.14، values=[7,9] تعطي ثلاثة أجزاء رغم وجود عنصرين. [1]
  • الجزء الأخير في المثال هو قوس الإغلاق، وليس عنصرًا ثالثًا. [1]
  • تحكم: القائمة الفارغة تعطي جزءًا واحدًا؛ الجمع يطابق json.dumps وتجميعًا مستقلًا، ويبقى المدخلان. [1]

وحدة الخرج

iterencode يعطي أجزاء نصية عند توفرها؛ الجزء ليس وحدة لعد عناصر القائمة. [1]

ما الذي نعده؟

نعد عناصر values نفسها، ولا نستبدل ذلك بعدد الأجزاء. [1]

عنصران وثلاثة أجزاء

على CPython 3.12.14، values=[7,9] تعطي ثلاثة أجزاء رغم وجود عنصرين. [1]

import json values=[7,9] chunks=list( json.JSONEncoder().iterencode(values)) print(chunks) [1]

القائمة الفارغة تنتج جزءًا واحدًا في التحكم.
صفر عناصر وجزء واحد.

قوس وتحكم فارغ

الجزء الأخير في المثال هو قوس الإغلاق، وليس عنصرًا ثالثًا. [1]

empty=[] empty_chunks=list( json.JSONEncoder().iterencode(empty)) print(empty_chunks) [1]

تحكم: القائمة الفارغة تعطي جزءًا واحدًا؛ الجمع يطابق json.dumps وتجميعًا مستقلًا، ويبقى المدخلان. [1]

المراجع

  1. Python JSON

للتوسع: لغات البرمجة.

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.