نمایش نتایج 1 تا 5 از 5

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

  1. #1

    جابه جایی دو عنصر در لیست

    سلام
    من میخوام وقتی دو عنصر لیست را عوض کردم هم لیست اولیه را داشته باشم هم لیستی که عناصرش عوض شده
    اومدم اولش لیست را ریختم تو یه لیست دیگه به اسم b ولی بازم نشد



    a=[1,2,3]
    b=a
    a[0],a[2]=a[2],a[0]
    print(a)
    print(b)

    اینم خروجی


    [3, 2, 1]
    [3, 2, 1]

  2. #2
    کاربر تازه وارد آواتار sd702004
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    مشهد
    پست
    44

    نقل قول: جابه جایی دو عنصر در لیست

    اگر درست متوجه منظور تون شده باشم بایستی خط دوم رو اینطوری بنویسید:
    b = a.copy()

  3. #3

    نقل قول: جابه جایی دو عنصر در لیست

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

    u=list.copy()for x in list:
    #a makan 0 dar yek list az majmooe ra neshan midahad
    a=list
    [list.index(x)].index(0)
    try:
    if x.index(a + 3) in x:
    x[a], x[a + 3] = x[a + 3], x[a]
    except:
    pass
    continue


    print(list)
    print(u)


    خروجی


    [[3, 1, 7, 8, 2, 4, 0, 6, 5], [2, 0, 8, 3, 5, 1, 4, 6, 7]]
    [[3, 1, 7, 8, 2, 4, 0, 6, 5], [2, 5, 8, 3, 0, 1, 4, 6, 7]]
    [[3, 1, 7, 8, 2, 4, 0, 6, 5], [2, 5, 8, 3, 0, 1, 4, 6, 7]]


    لیست اول قبل از جابه جایی
    لیست دوم بعد از جابه جابی
    لیست سوم u

  4. #4
    کاربر تازه وارد آواتار sd702004
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    مشهد
    پست
    44

    نقل قول: جابه جایی دو عنصر در لیست

    با توجه به اینکه در این مثال لیست تون خودش شامل یک لیست دیگه هست شرایطش با سوال اول تون متفاوته. یک راه ساده میتونه این باشه:
     u = [ list[0].copy(), list[1].copy() ] 


    یا این روش:
    u = []
    for i in list: u.append(i.copy())


    روش دیگه هم استفاده از deepcopy هست. برای این کار کافیه ماژول copy رو ایمپورت کنید و کد رو اینطوری تغییر بدین:

    import copy
    u = copy.deepcopy(list)

    پیشنهاد میکنم این لینک رو هم مطالعه کنید
    آخرین ویرایش به وسیله sd702004 : سه شنبه 19 فروردین 1399 در 20:50 عصر


  5. #5

    نقل قول: جابه جایی دو عنصر در لیست

    بی نهایت ممنونم
    کاملا درسته
    واقعلا ممنون

تاپیک های مشابه

  1. سوال: علت این خطا چیست ؟ لطفا راهنمایی کنید !!!
    نوشته شده توسط kindangel در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: شنبه 18 خرداد 1392, 07:33 صبح
  2. ادامه لیست از جایی که ایست دادیم.
    نوشته شده توسط tehran2009 در بخش برنامه نویسی در 6 VB
    پاسخ: 6
    آخرین پست: دوشنبه 04 آبان 1388, 19:32 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •