توضیح دهید که چرا دو خط زیر کد پایتون خروجی های متفاوتی را تولید می کنند.
[{"input": "a = [1, 2] b = a", "output": "پاسخ به این سوال بستگی به آنچه که بعد از آن می آید دارد. در اینجا چند سناریو وجود دارد: 1. سناریو که در آن دو خط کد دقیقاً همان خروجی را تولید می کنند. ``python a = [1, 2] b = a print ((a) # Output: [1, 2] print ((b) # Output: [1, 2] ``` 2. سناریو که در آن دو خط کد خروجی های متفاوتی را تولید می کنند. ``python a = [1, 2] b = a a[0] = 5 print ((a) # Output: [5, 2] print ((b) # Output: [5, 2] ``` در این سناریو `a` یک شی است و وقتی ``b به `a`b اختصاص داده شود، این یک مرجع به آن فهرست دقیق ایجاد می کند. به همین ترتیب"}]