قاموس بايثون "قيمة النسخ"
سؤال
كنت أنظر إلى كود مصدر 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:]
سيتم نسخ القائمة بأكملها مع حذف العنصر الأول.
الق نظرة هنا للحصول على شرح شامل.
لا تنتمي إلى StackOverflow