-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpy13.py
More file actions
42 lines (30 loc) · 1.59 KB
/
py13.py
File metadata and controls
42 lines (30 loc) · 1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# لیست ها
nums = [1,2,3,4,5,6,7,8,9]
name = list("mohammad","karimpour")
# دسترسی
print(nums)
# کار کردن با ایندکس
print(nums[1:9:2]) # 2,4,6,8
# میتوان آیتم های آن را تغیر داد
nums[2] = 23
# در لیست هاهم عملیات +و* کار میکند
print(nums + name) # [1,2,3,4,5,6,7,8,9,"mohammad","karimpour"]
print(nums * 2) # [1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9]
# لیست های تو در تو
tools = [1,2,3,4,[1,2,3],5,6,7,8]
print(tools[4][2]) # 3
# مقدار دهی متغیر ها از آیتم های یک آرایه
a ,b ,c = [1,2,3] # a=1 - b=2 - c=3
# اگر تعداد آیتم های آن بیشتر از متغیر ها بود میتوان مابقی را به یکی از متغیر ها اختصاص داد
j ,*k ,l = [1,2,3,4,5,6,7,8,9] #j=1 k=[2,3,4,5,6,7,8] l=9
j ,k ,*l = [1,2,3,4,5,6,7,8,9] #j=1 k=2 l=[3,4,5,6,7,8,9]
#کپی سطحی و عمیق
# برای کپی کردن کامل و قطع ارتباط با پدر جهت تغیرات روی کپی بدون تغیر پدر
jac = nums.copy()
# اما این روش برای لیست های تو در تو جواب نمی دهد و در صورت تغیر لیست پدر هم تغیر میکند . برای حل آن باید از ماژول کپی استفاده کرد
import copy
jac_2 = copy.deepcopy(nums)
# تیدیل داده ها به لیست به شرطی که داده مد نطر قابل شمارش باشد(ایندکس داشته باشد)
list("mohammad") # [m,o,h,a,m,m,a,d]
# برای دراورن از دسته بندی آیتم های یک لیست
print(*[1,2,3])