سؤال

كنت أنظر إلى كود مصدر docutil (الموجود بلغة python)، عندما رأيت هذا (منقح):

def __init__(self, **attributes):
    for att, value in attributes.items():
        att = att.lower()
        if att in self.list_attributes:
            # mutable list; make a copy for this node
            self.attributes[att] = value[:]
        else:
            self.attributes[att] = value

السطر الذي أتحدث عنه هو هذا:

            self.attributes[att] = value[:]

ماذا يفعل "[:]" بالضبط؟يشير التعليق أعلاه إلى نسخة من نوع ما ولكن عمليات البحث التي أجريتها على Google لم تكن ناجحة ولا يمكنني معرفة ما إذا كانت ميزة لغة أو خدعة/اختصار من نوع ما.

هل كانت مفيدة؟

المحلول

يقوم بعمل نسخة من القائمة (ليس قاموسًا)

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

على سبيل المثال، mylist[1:] سيتم نسخ القائمة بأكملها مع حذف العنصر الأول.

الق نظرة هنا للحصول على شرح شامل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top