:: پشتیبانی فنی ADSL به پارسی ::

::: ADSL - ویندوز - نرم افزار - سخت افزار - موبایل - لینوکس - آفیس - شبکه - برنامه نویسی :::

:: پشتیبانی فنی ADSL به پارسی ::

::: ADSL - ویندوز - نرم افزار - سخت افزار - موبایل - لینوکس - آفیس - شبکه - برنامه نویسی :::

:: پشتیبانی فنی ADSL به پارسی ::

تقدیم به تمام پشتیبانان ADSL که به رنج در تلاشند

*** تاسیس به سال 1389 در بلاگفا ***

بایگانی
پیوندهای روزانه
  • ۰
  • ۰

لیست در پایتون مجموعه ای از مقادیر است که در یک متغیر قرار می گیرند لیست ها تغییر پذیرند هر عضو می تواند نوع داده ای گوناگونی باشد یعنی عضوی عدد باشد عضوی رشته و ... باشد اعضای لیست با کاما ( , ) از هم جدا می شوند برای تعریف لیست از عملگرهای [] استفاده می شود :

 

list = []

می توان به صورت زیر هم لیست ایجاد کرد :

list1 = list()

 

مثال زیر را توجه کنید :

 

list1 = ["adslfa.blog.ir", 12 , False ]

print(list1[0])

اندیس لیست از 0 شروع می شود و با استفاده از آن به اعضای لیست دسترسی داریم  و اگر از انتها بخواهیم به ابتدای لیست حرکت کنیم از 1- شروع می کنیم یک دسترسی در لیست به نام Slice ( برش ) داریم که به صورت [:] نوشته می شود برای مثال :

list1 = ["adslfa.blog.ir", 12 , False,[3, "Ali"] ]

print(list1[0:2])

خروجی به صورت اندیس های 0 تا 1 خواهد بود !!! یعنی ['adslfa.blog.ir', 12] خواهد بود 

 

مثال زیر :

می خواهیم عبارتی بنویسیم که در لیست قرار بگیرد و واژگان جدا از هم نمایش داده شود :


word = list()

s = input(" Enter a string : ")

word = s.split()

print(word)

 

اگر در ورودی عبارت www adslfa blog ir را وارد کنید هر بخش یک اندیس در این عبارت خواهد بود 

 

انواع عملگرهای کار بر روی لیست :

 

عملگر + : عمل پیوند بین لیست 

 

عملگر * : برای تکرار اعضا لیست 

 

عملگر == : برای مقایسه برابری لیست ها 

 

عملگر in : برای بررسی عضویت یک مقدار در لیست و False و True را بر می گرداند 

 

عملگر is : در پایتون یک شی سه بخش شناسه - نوع - مقدار دارد و یکسان بودن شناسه ( خروجی تابع () id ) می باشد 

 

متد های کار با لیست :

 

به انتهای نام لیست می چسبد و مقدار دلخواه را اضافه می کند   :  append(مقدار)

اعضای دلخواه را به انتهای لیست اضافه می کند  :  extended(مقدار)

 یک مقدار را با اندیس جایگاه دلخواه درج می کند :  insert(i,x)

  اولین مقدار درج شده از لیست حذف می شود :  remove(x)

[] del listname   : حذف اندیس مورد نظر 

(i)pop : عضو متناظر با اندیس i از لیست حذف می کند 

index(x, n) : جستجو با x و جایگاه n ام را بر می گرداند اگر n نباشد اولین محل را بر می گرداند 

count(x) : تعداد تکرار شی x را بر می گرداند 

()Clear : تمام اعضا لیست حذف می شود و معادل [:] del Yourlist

()revers : اعضا لیست معکوس می شوند 

()sort  : اعضا صعودی یا نزولی چاپ می شوند به صورت پیش فرض صعودی است و به صورت نزولی با آرگومان (revers=True)sort نوشته می شود 

()Share : اعضای دو یا چند لیست با هم مقایسه شده و اگر عضوی در لیستی باشد و در دیگری نباشد به هم انتقال می دهند 

Difference و Union : شبیه تفاضل و اجتماع در ریاضی عمل می کند

()Upper :  تبدیل به حروف بزرگ 

()Len : طول اعضای لیست را نشان می دهد برای مثال python = 6

()Max : بزرگترین عنصر لیست 

()Min : کوچک ترین عنصر لیست 

لیست ساز :

لیست ساز از امکانات جالب پایتون است که باعث کاهش کد نویسی می شود و به صورت :

]  یک شرط if لیست مبدا in یک متغیر for یک عبارت [   = لیست مقصد 

یک مثال برای توضیح بیشتر  :

 

nums = [10, 20, 30, 40 , 50 ]

newNum = [ num // 2 for num in nums]

print(newNum)

 

یک لیست به نام nums ایجاد می شود دستور دوم اعضای لیست nums را در num قرار می دهد و تقسیم بر 2 می شود و در newNums قرار می دهد 

 

مثال بعدی برنامه ای که اعضای زوج یک لیست را به توان 3 برساند :

 

nums = [10, 20, 30, 40 , 50 ]

newNum = [ x ** 2  for x in nums if x % 2 == 0 ]

print(newNum)

 

در مثال بعدی می خواهیم اعضای دو لیست نظیر به نظیر در هم ضرب شوند و در لیست سوم قرار داده شود :

nums1 = [10, 20, 30, 40 , 50 ]

nums2 = [ 20, 1 , 10, 12, 14, 16 ]

newNums = [ x*y for x in nums1 for y in nums2 if nums1.index(x) == nums2.index(y) ]

print(newNums)

 

یک مثال دیگر تابعی از لیستی که با گرفتن اعداد از کاربر تا زمانی که 0 را وارد کند پر شود تعداد اعداد مثبت و منفی را نشان دهد و در لیست یک عدد را جستجو کرده و اگر وجود داشت پیغام دهد :

 

def enter(lst):
while True:
x = int(input("Enter a number (0 to end): "))
if x != 0:
lst.append(x)
else:
break

def negFunc(lst):
print("\nNegatives are:")
neg = 0 # number of negatives
for item in lst:
if item < 0:
print(item, "", end="")
neg += 1
print("\nNumber of negatives is:", neg)

def posFunc(lst):
print("\nPositives are:")
pos = 0 # number of positives
for item in lst:
if item > 0:
print(item, "", end="")
pos += 1
print("\nNumber of positives is:", pos)

def find(lst):
x = int(input("Enter a number to search: "))
if x in lst:
print(x, "is in the list.")
else:
print(x, "is not in the list.")

# Driver program to test
list1 = [] # empty list
enter(list1)
print(list1)
negFunc(list1)
posFunc(list1)
find(list1)

در مثال زیر هم تابعی با لیست ایجاد می کنیم که نام و معدل افراد را بگیرد و در دو لیست جداگانه قرار دهد و اضافه کردن دانشجو - حذف او - بیشترین تکرار یک معدل - نمایش محتوا هر دو لیست را نشان دهد و منوسازی هم آموزش می دهد :

 

 

def getData(grList, nameList):
    name , ave = input("Enter name and ave : ").split()
    grList.append(float(ave))
    nameList.append(name)

def delData(grList, nameList):
    name = input("Enter name to delete: ")
    if name in nameList:
        index = nameList.index(name)
        grList.pop(index)
        nameList.pop(index)
    else:
        print( " The name", name, "not found " )
    input( " Press a key to continue: ")

def display(grList, nameList):
    print("{0:7s} {1:7s}".format("Name", " Average "))
    for i in range(len(nameList)):
        print("{0:7s} {1:8.2f}".format(nameList[i] , grList[i]))

def iteration(grList):        # tekrar Moadel 
    ave = float(input("Enter an ave to count: "))
    print("The count of", ave, "is", grList.count(ave))

def menu():
    print("1. Enter data")
    print("2. Remove data")
    print("3. Find iterations")
    print("4. Display data")
    print("5. Exit")
    choice = int(input("Enter your select (1-5): "))
    return choice

grList = []
nameList = []

while True:
    c = menu()
    if c == 1:
        getData(grList, nameList)
    elif c == 2:
        delData(grList, nameList)
    elif c == 3:
        iteration(grList)
    elif c == 4:
        display(grList, nameList)
    else:
        break  # The End

 

لیست دو بعدی :

 

لیست های دو بعدی در آرایه های دو بعدی گفته شد که به صورت زیر نوشته می شوند :

 


rows = 3
cols = 6
twoDim = [ ( [0] * cols ) for row in range ( rows ) ] 
print ("Number of rows: ", len (twoDim))
print ("Number of columns: ", len (twoDim [1]))
for i in range (len (twoDim)):
    for j in range (len (twoDim[0])):
        print (twoDim[i][j], end = " ")
    print()

 

یا این مثال : 

matrix = [[j for j in range (7)] for i in range (4)]

print (" Number of rows: ", len (matrix))

print(" Number of cols: ", len (matrix[0])) 

print ( " Contents of matrix : " )

for i in range (len ( matrix )):
    for j in range (len ( matrix[0] )): 
        print (matrix[i][j], end = "") 
    print ()

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی