بکندباز

متد ‎index()‎ در پایتون

مثال

پیدا کردن ایندکس آیتم “cherry” در لیست:

fruits = ['apple', 'banana', 'cherry']

x = fruits.index("cherry")
print(x)

توضیحات

متد ‎index()‎ ایندکس اولین جایی که کلمه مشخص شده در لیست پیدا می شود را در خروجی برمیگرداند.

سینتکس

list.index(elmnt)

مقادیر پارامتر ها

پارامتر توضیح
elmnt اجباری. آیتمی که می خواهیم موقعیت آن را پیدا کنیم

مثال

ایندکس اولین عدد 32 در لیست:

fruits = [4,  55, 64, 32, 16, 32]

x = fruits.index(32)
print(x)

 


اگر سوالی در رابطه با این تابع داری، می تونی توی بخش کامنت ها بپرسی:

zohreh

مدیر وب سایت بکندباز

دیدگاه‌ها

*
*

    nima پاسخ

    سلام وقت بخیر
    اگر بخوایم عددی رو عنوان index از کاربر بگیریم و مقدار اون رو برگردونیم به کاربر دسنور به چه صورت میشه؟
    سپاس

      ‏زهره احمدی پاسخ

      سلام. وقت شما بخیر
      باید به این شکل عمل کنید:

      
      i = input('Enter Index:')
      
      fruits = ['apple', 'banana', 'cherry']
      
      x = fruits[int(i)]
      print(x)
      
      
    ely پاسخ

    اگر یه متغیر دارم بخوام بدونم چند ایندکس داره چیکار کنم

    مهدی پاسخ

    با سلام.
    اگه چند تا کلمه ی مشابه در لیست داشته باشیم و به خواهیم ، مکان آن ها را در لیست پیدا و به ترتیب در خروجی بازگرداند از چه متدی استفاده می شود؟

      ‏زهره احمدی پاسخ

      سلام. برای اینکار می تونید از تابع enumerate استفاده کنید. این تابع به همه ی اعضای مجموعه یک ایندکس اضافه می کنه که با استفاده از حلقه ی for می تونید ایندکس همه ی اعضای مشابه رو پیدا کنید. مثلاً‌ توی این مثال ایندکس همه ی کلمات banana پیدا و چاپ میشه:

      
      my_list = ['apple', 'banana', 'cherry','banana','blueberry']
      indices = [i for i, x in enumerate(my_list) if x == "banana"]
      print(indices)
      
      
    moein پاسخ

    سلام اگه بخوایم از ایندکس یک رشته ایی را پیدا کنیم بعد هفتا بعدشو پرینت کنیم به همین ترتیب چهل تا چهل تا بره جلو باید چه کنیم

      ‏زهره احمدی پاسخ

      اگر درست سوال رو متوجه شده باشم از همچین کدی می تونید استفاده کنید:

      
      text = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.'
      
      #ایندکس حرف c
      first_index = text.index('c')
      print(first_index)
      
      #هفت حرف بعد از آن
      seven_after = first_index + 7
      print(text[seven_after])
      
      #چاپ 40 تا 40 تا بعد از آن
      for i in range(seven_after+40, len(text), 40):
          print(text[i])
      
      
    Moein پاسخ
    
    smartphoneList = "model:A13,price:3500000,number:3,sold:3,model:A03,price:2000000,number:5,sold:5,model:A70,price:8000000,number:10,sold:8,model:F42,price:4000000,number:20,sold:8,model:M52,price:5000000,number:10,sold:5,model:M22,price:3500000,number:11,sold:5,model:M32,price:4000000,number:31,sold:5,model:A20,price:3000000,number:12,sold:5,model:A52,price:7000000,number:5,sold:5,model:s21,price:15000000,number:2,sold:8,"
    
    

    فکر کنم درست سوالم و نپرسیدم من میخوام در این رشته اعدادی که مساوی با نابرن رو دربیارم که از راه ایندکس رفتم ولی به دو رقمی ها میرسم نمی تونم و لی در کل میخوام اعدادی که مساوی با نامبرو به صورت اینت در بیارم ممنون میشم کمک کنید.

      ‏زهره احمدی پاسخ

      من متوجه سوالتون نمیشم. اعدادی که مساوی با نامبرن یعنی چی؟

      نمونه ی خروجی مد نظرتون رو بفرستید

    n.s پاسخ

    سلام وقت بخیر اگر بخواهیم مکان اخرین جایی که مشاهده کرده رو برگردونه باید چجوری استفاده ش کنیم ؟

      ‏زهره احمدی پاسخ

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

      fruits = [4,  55, 64, 32, 16, 32,65]
      fruits.reverse()
      x = len(fruits) -1 - fruits.index(32)
      fruits.reverse()
      print(x)
    امیر سجاد صادقی پاسخ

    من میخوام 5 تا ایدی اسم و فامیلی بگیرم بریزم تو مای لیست بعد شو ال با ایندکس یکی رو پیدا کنم
     

      ‏زهره احمدی پاسخ

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

      myList = ['ali ahmadi', 'maryam bagheri', 'zahra yazdani'];
      
      print(myList[2])
    ایدا جلالی پاسخ

    چجوری با ایندکس و فور لیست رو برعکس کنیم فقط ایندکس و فور  یعنی از ریورس و بقیه استفاده نشه؟

      ‏زهره احمدی پاسخ

      سلام. می تونین از کد زیر استفاده کنین:

      fruits = [4,  55, 64, 32, 16, 32]
      revFruits = []
      
      for i in range(len(fruits)-1, -1, -1):
          revFruits.append(fruits[i])
      
      print(revFruits)

      یک حلقه می سازیم که شروعش طول لیست منهای یک هست و پایانش هم صفر. با گام های منفی 1 هم حرکت می کنه. به این صورت یکی یکی از ایندکس آخر، مقدار مربوطه رو توی لیست جدید اضافه می کنیم.

    Moslem پاسخ

    سلام کدی نوشتم که میاد یه عددی از کاربر میگیره همراه اپشن و روی اون دو تا عدد عملیات ریاضی انجام میده و برای بار بعدی تکرار میشه حالا مشکلم اینجاست که وقتی کاراکتر + رو میزنم اسکیریپت درست اجرا میشه ولی وقتی مثلا عدد ۱ رو میزنم خطا نمیده ولی جلوی مساوی none رو برمیگردونه :

    Print("2.sum(-)"),,,Print("1.sum(+)")
    اینجا کاربر میتونه عدد ۱ یا + رو انتخاب کنه

    حالا وقتی کاربر + رو میزنه درسته ولی وقتی مثلا میزنه ۱ و مثلا اعداد ۵،۶ که با هم جمع شون کنه اینجوری میشه 6 1 5 = none (البته بر عکس این عبارت) به جای اینکه بگه ۱۱=۵ + ۶ به جای کاراکتر + عدد ۱ رو گذاشته و به جای حاصل جواب none ،،،حالا باید اینجا باید چیکار کنم که این مشکل بر طرف بشه؟

      ‏زهره احمدی پاسخ

      سلام. لطفاً کدتون رو به صورت کامل ارسال کنید تا بررسی کنم.

      آیکون <> روی ادیتور رو بزنید و کدتون رو از این طریق ارسال کنید.

    Zahraaht پاسخ

    سلام، اگه بگن برنامه بنویسید که یک رشته از ورودی input بخواند و مقدار ایندکس اخر را چاپ کند چجوری میشه، ممنون

      ‏زهره احمدی پاسخ

      سلام. ایندکس آخر میشه ایندکس (1-) که به این شکل می تونید مقدارش رو به دست بیارید:

      text = input("Enter your text: ")
      
      print(text[-1])
        ‏زهره احمدی پاسخ

        خود ایندکس آخر هم اگر بخواید برابر هست با طول رشته ورودی منهای 1.

    مصطفی شبانی پاسخ

    سلام 
    آیا امکان تغییر ایندکس وجود داره، به طوریکه ایندکس بجای اینکه از صفر شروع بشه از یک شروع بشه؟
    امکانش هست کد مربوطه رو بفرمایید ..
     

      zohreh پاسخ

      خیر. ایندکس در لیست ها همیشه از صفر شروع میشه. اگر بخواهید ایندکس اختصاصی داشته باشید باید از دیکشنری ها به جای لیست استفاده کنید.

پشتیبانی واتس اپ