If you have the list numbers = [17, 123], what will be the result of numbers[1] = 5?

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "[17, 5]". List (danh sách) trong Python là kiểu khả biến (mutable) và đánh chỉ số từ 0: numbers[0] là 17, numbers[1] là 123. Câu lệnh gán numbers[1] = 5 thay phần tử ở chỉ số 1 bằng 5 ngay trên chính list đó, nên numbers trở thành [17, 5]. Phương án "[17, 123]" cho rằng list không đổi, điều chỉ xảy ra với kiểu bất biến như tuple hay str, mà khi đó phép gán còn ném TypeError chứ không lặng lẽ giữ nguyên. Phương án "[5, 17]" vừa đặt 5 lên đầu vừa làm mất 123, không khớp với phép gán theo chỉ số, vốn chỉ thay đúng một vị trí và giữ nguyên thứ tự. Phương án "IndexError" sai vì chỉ số 1 nằm trong phạm vi hợp lệ 0 tới 1 của list hai phần tử; IndexError chỉ xảy ra với numbers[2] trở lên. Nói chặt, bản thân câu lệnh gán không trả về giá trị, câu hỏi muốn hỏi nội dung list sau khi gán.

Cùng phần 2

Xuất hiện trong 1 bộ đề