Hướng dẫn how do you assign a value to a list in python? - làm cách nào để gán giá trị cho danh sách trong python?

Python có một loại danh sách tích hợp tuyệt vời có tên là "Danh sách". Danh sách chữ được viết trong dấu ngoặc vuông []. Danh sách hoạt động tương tự như các chuỗi - sử dụng hàm Len () và dấu ngoặc vuông [] để truy cập dữ liệu, với phần tử đầu tiên tại INDEX 0. (xem tài liệu danh sách python.org chính thức.)

  colors = ['red', 'blue', 'green']
  print(colors[0])    ## red
  print(colors[2])    ## green
  print(len(colors))  ## 3

Hướng dẫn how do you assign a value to a list in python? - làm cách nào để gán giá trị cho danh sách trong python?

Bài tập với AN = ON DANH SÁCH không tạo một bản sao. Thay vào đó, bài tập làm cho hai biến chỉ vào một danh sách trong bộ nhớ.

  b = colors   ## Does not copy the list

Hướng dẫn how do you assign a value to a list in python? - làm cách nào để gán giá trị cho danh sách trong python?

"Danh sách trống" chỉ là một cặp dấu ngoặc trống []. ' +' Hoạt động để nối hai danh sách, vì vậy [1, 2] + [3, 4] mang lại [1, 2, 3, 4] (điều này giống như + với các chuỗi).

Cho và vào

Các cấu trúc * cho * và * trong * của Python là vô cùng hữu ích và việc sử dụng đầu tiên của chúng mà chúng ta sẽ thấy là có danh sách. Cấu trúc * cho * -

  b = colors   ## Does not copy the list
0 - là một cách dễ dàng để xem từng phần tử trong một danh sách (hoặc bộ sưu tập khác). Không thêm hoặc xóa khỏi danh sách trong quá trình lặp.

  squares = [1, 4, 9, 16]
  sum = 0
  for num in squares:
    sum += num
  print(sum)  ## 30

Nếu bạn biết loại điều gì trong danh sách, hãy sử dụng tên biến trong vòng lặp nắm bắt thông tin đó như "num" hoặc "tên" hoặc "url". Vì mã Python không có cú pháp khác để nhắc nhở bạn về các loại, tên biến của bạn là một cách chính để bạn giữ thẳng những gì đang diễn ra. . được sử dụng bởi các chương trình khác như IDE (môi trường phát triển tích hợp) và các công cụ phân tích tĩnh như trình kiểm tra linter/loại để xác thực nếu các chức năng của bạn được gọi với các đối số tương thích.)

Cấu trúc * in * của riêng mình là một cách dễ dàng để kiểm tra nếu một phần tử xuất hiện trong danh sách (hoặc bộ sưu tập khác) -

  b = colors   ## Does not copy the list
1 - kiểm tra xem giá trị có trong bộ sưu tập, trả về đúng/sai.

  list = ['larry', 'curly', 'moe']
  if 'curly' in list:
    print('yay')

Các cấu trúc FOR/trong được sử dụng rất phổ biến trong mã Python và làm việc trên các loại dữ liệu khác ngoài danh sách, vì vậy bạn chỉ nên ghi nhớ cú pháp của họ. Bạn có thể có thói quen từ các ngôn ngữ khác, nơi bạn bắt đầu lặp lại bằng tay trên một bộ sưu tập, trong đó trong Python bạn chỉ nên sử dụng cho/in.

Bạn cũng có thể sử dụng cho/vào để làm việc trên một chuỗi. Chuỗi hoạt động giống như một danh sách các ký tự của nó, vì vậy

  b = colors   ## Does not copy the list
2 in tất cả các ký tự trong một chuỗi.

Phạm vi

Hàm phạm vi (n) mang lại các số 0, 1, ... n-1 và phạm vi (a, b) trả về a, a+1, ... b-1-lên đến nhưng không bao gồm số cuối cùng . Sự kết hợp giữa hàm for-loop và phạm vi () cho phép bạn xây dựng một số truyền thống cho vòng lặp:

  ## print the numbers from 0 through 99
  for i in range(100):
    print(i)

Có một biến thể xrange () để tránh chi phí xây dựng toàn bộ danh sách cho các trường hợp nhạy cảm hiệu suất (trong Python 3, Range () sẽ có hành vi hiệu suất tốt và bạn có thể quên Xrange ()).

Trong khi lặp lại

Python cũng có tiêu chuẩn trong khi vòng lặp và các câu lệnh * break * và * tiếp tục * hoạt động như trong C ++ và Java, thay đổi quá trình của vòng lặp trong cùng. Các vòng lặp trên/trong giải quyết trường hợp lặp lại phổ biến trên mọi phần tử trong danh sách, nhưng vòng lặp trong khi cung cấp cho bạn toàn bộ quyền kiểm soát các số chỉ mục. Đây là một vòng lặp trong thời gian truy cập vào mỗi yếu tố thứ 3 trong danh sách:

  ## Access every 3rd element in a list
  i = 0
  while i < len(a):
    print(a[i])
    i = i + 3

Phương pháp liệt kê

Dưới đây là một số phương pháp danh sách phổ biến khác.

  • list.Append (elem) - Thêm một yếu tố duy nhất vào cuối danh sách. Lỗi phổ biến: Không trả về danh sách mới, chỉ cần sửa đổi bản gốc.
  • list.insert (index, elem) - chèn phần tử tại chỉ mục đã cho, chuyển các phần tử sang bên phải.
  • list.Extend (list2) thêm các yếu tố trong List2 vào cuối danh sách. Sử dụng + hoặc + = trên danh sách tương tự như sử dụng Extend ().
  • list.index (ELEM) - Tìm kiếm phần tử đã cho từ đầu danh sách và trả về chỉ mục của nó. Ném một valueError nếu phần tử không xuất hiện (sử dụng "trong" để kiểm tra mà không có giá trịerror).
  • list.Remove (ELEM) - Tìm kiếm trường hợp đầu tiên của phần tử đã cho và xóa nó (ném valueError nếu không có)
  • list.sort () - Sắp xếp danh sách tại chỗ (không trả lại nó). (Hàm Sắp xếp () hiển thị sau được ưu tiên.)
  • list.reverse () - đảo ngược danh sách tại chỗ (không trả lại nó)
  • list.pop (index) - Xóa và trả về phần tử tại chỉ mục đã cho. Trả về phần tử ngoài cùng bên phải nếu chỉ mục bị bỏ qua (gần ngược với append ()).

Lưu ý rằng đây là các phương thức * * trên một đối tượng danh sách, trong khi Len () là một hàm lấy danh sách (hoặc chuỗi hoặc bất cứ điều gì) làm đối số.

  list = ['larry', 'curly', 'moe']
  list.append('shemp')         ## append elem at end
  list.insert(0, 'xxx')        ## insert elem at index 0
  list.extend(['yyy', 'zzz'])  ## add list of elems at end
  print(list)  ## ['xxx', 'larry', 'curly', 'moe', 'shemp', 'yyy', 'zzz']
  print(list.index('curly'))    ## 2

  list.remove('curly')         ## search and remove that element
  list.pop(1)                  ## removes and returns 'larry'
  print(list)  ## ['xxx', 'moe', 'shemp', 'yyy', 'zzz']

Lỗi phổ biến: Lưu ý rằng các phương thức trên không * trả về * Danh sách được sửa đổi, chúng chỉ sửa đổi danh sách ban đầu.

  list = [1, 2, 3]
  print(list.append(4))   ## NO, does not work, append() returns None
  ## Correct pattern:
  list.append(4)
  print(list)  ## [1, 2, 3, 4]

Danh sách tích tụ

Một mẫu phổ biến là bắt đầu một danh sách dưới dạng danh sách trống [], sau đó sử dụng append () hoặc extend () để thêm các phần tử vào nó:

  list = []          ## Start as the empty list
  list.append('a')   ## Use append() to add elements
  list.append('b')

Danh sách các lát

Các lát cắt hoạt động trên danh sách giống như với các chuỗi và cũng có thể được sử dụng để thay đổi các phần phụ của danh sách.

  list = ['a', 'b', 'c', 'd']
  print(list[1:-1])   ## ['b', 'c']
  list[0:2] = 'z'    ## replace ['a', 'b'] with ['z']
  print(list)         ## ['z', 'c', 'd']

Bài tập: list1.py

Để thực hành tài liệu trong phần này, hãy thử các vấn đề trong list1.py không sử dụng phân loại (trong các bài tập cơ bản).list1.py that do not use sorting (in the Basic Exercises).