Багато функцій arcpy, які приймають кілька входів, приймають об'єкти списку Python.
Наприклад, Dissolve_management
функція приймає список імен полів, які слід розчинити на:
arcpy.Dissolve_management("taxlots", "C:/output/output.gdb/taxlots_dissolved",
["LANDUSE", "TAXCODE"], "", "SINGLE_PART", "DISSOLVE_LINES")
Кортеж можна використовувати замість списку, коли вам не потрібно змінювати порядок чи кількість елементів, оскільки кортежі незмінні . Вони є корисною структурою даних для неоднорідних, але пов'язаних між собою фрагментів даних, таких як елементи часової позначки або координати точки. Ви часто побачите списки кортежів, де кортеж виступає як окремий запис із фіксованою кількістю атрибутів, тоді як список може легко змінювати розмір, бути переупорядкованим (відсортованим) тощо. Для отримання додаткових відомостей див. Це питання StackOverflow. списків проти кортежів.
Словник може використовуватися як таблиця швидкого пошуку для кешування відносно невеликого, але часто використовуваного набору пар ключових значень у пам'яті. Я бачив цікавий приклад цього на форумах ArcGIS: http://forums.arcgis.com/threads/55099-Update-cursor-with-joined-tables-work-around-w-dic Dictionary
Використання словника замість з'єднання збільшило їх обчислення від 3,5 годин до 15 хвилин.
Більш простим прикладом може бути, якщо у вас є мільйон записів адрес з атрибутом зі скороченим іменем штату (CA), але для цілей відображення ви хочете прописати власне ім’я (Каліфорнія), ви можете використовувати цей словник як таблицю пошуку, коли заповнення поля повного імені держави.
Я не знайшов необхідності писати клас на Python для використання в arcpy, але це не означає, що не існує такого випадку використання. Клас може бути корисним, коли у вас є набір тісно пов’язаних функцій (поведінки), які працюють на деякому вході (даних), і ви хочете мати можливість використовувати ці дані та поведінку об'єктно-орієнтованим способом, але це більше швидше за все, це буде бізнес-логіка і не пов'язана з архпією.