Giá trị duy nhất từ ​​​​danh sách danh sách python

Xóa các bản sao khỏi tín dụng chuỗi. Tim Peters Vấn đề Bạn có một chuỗi có thể bao gồm các bản sao và bạn cần loại bỏ các bản sao đó theo cách nhanh nhất có thể mà không cần … - Lựa chọn từ Python Cookbook [Sách]

Show

Có một yếu tố gây nhầm lẫn liên quan đến thuật ngữ “danh sách của danh sách” trong Python. Tôi đã viết hướng dẫn toàn diện nhất này về danh sách các danh sách trên thế giới để loại bỏ tất cả những nhầm lẫn đó của người mới bắt đầu trong ngôn ngữ lập trình Python

Hướng dẫn đa phương thức này bao gồm

  • Mã nguồn để sao chép dán trong các dự án của riêng bạn
  • Mã tương tác bạn có thể thực thi trong trình duyệt của mình
  • Văn bản giải thích cho mỗi đoạn mã
  • Các video chụp màn hình tôi đã ghi lại để giúp bạn hiểu các khái niệm nhanh hơn
  • Đồ họa và các khái niệm minh họa để giúp bạn có được những ý tưởng một cách nhanh chóng
  • Tài liệu tham khảo để đọc thêm và hướng dẫn liên quan

Vì vậy, nếu bạn bối rối trước các danh sách, hãy đọc tiếp—và giải quyết sự nhầm lẫn của bạn một lần và mãi mãi

Danh sách các danh sách là gì?

Sự định nghĩa. Danh sách các danh sách trong Python là một đối tượng danh sách trong đó mỗi phần tử danh sách là một danh sách. Tạo danh sách danh sách trong Python bằng cách sử dụng ký hiệu dấu ngoặc vuông để tạo danh sách lồng nhau

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

Giá trị duy nhất từ ​​​​danh sách danh sách python

Bạn có muốn phát triển các kỹ năng của một chuyên gia Python toàn diện—đồng thời được trả tiền trong quá trình này không?

Giá trị duy nhất từ ​​​​danh sách danh sách python

Phân tích bộ nhớ

Điều quan trọng là bạn phải hiểu rằng danh sách chỉ là một chuỗi tham chiếu đến các vị trí bộ nhớ

Bằng cách chơi với trình hiển thị mã, bạn sẽ hiểu sâu hơn về cách Python hoạt động ở cốt lõi của nó

Chỉ cần nhấp vào nút “Tiếp theo” để xem từng dòng mã mở ra như thế nào

Tạo một danh sách các danh sách trong Python

Tạo một danh sách các danh sách bằng cách sử dụng ký hiệu dấu ngoặc vuông

Ví dụ: để tạo danh sách danh sách các giá trị số nguyên, hãy sử dụng

[[1, 2, 3], [4, 5], [6, 7, 8]]
2. Mỗi phần tử danh sách của danh sách bên ngoài là một danh sách lồng nhau

lst = [[1, 2], [3, 4]]

Có nhiều cách lập trình và nâng cao hơn để tạo và khởi tạo danh sách các danh sách trong Python—vui lòng đọc hướng dẫn chi tiết của chúng tôi trên blog Finxter

🌍 Hướng dẫn liên quan. Tạo và khởi tạo danh sách danh sách trong Python

Chuyển đổi danh sách danh sách thành một danh sách

Giả sử, bạn muốn chuyển đổi một danh sách gồm các danh sách

[[1, 2, 3], [4, 5], [6, 7, 8]]
2 thành một danh sách duy nhất
[[1, 2, 3], [4, 5], [6, 7, 8]]
4. Làm thế nào để đạt được điều này?

  • Hiểu danh sách
    [[1, 2, 3], [4, 5], [6, 7, 8]]
    5 giả sử bạn có một danh sách các danh sách
    [[1, 2, 3], [4, 5], [6, 7, 8]]
    6
  • Giải nén
    [[1, 2, 3], [4, 5], [6, 7, 8]]
    7 giả sử bạn có một danh sách gồm hai danh sách
    [[1, 2, 3], [4, 5], [6, 7, 8]]
    6
  • Sử dụng phương thức
    [[1, 2, 3], [4, 5], [6, 7, 8]]
    9 của danh sách Python để mở rộng tất cả danh sách trong danh sách danh sách

Tìm ví dụ về cả ba phương thức trong đoạn mã sau

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

Do tính đơn giản và hiệu quả của nó, phương pháp đọc danh sách đầu tiên vượt trội so với hai phương pháp còn lại

Chuyển đổi Danh sách Danh sách sang Từ điển

Đối với một số ứng dụng, việc chuyển đổi danh sách danh sách thành từ điển khá hữu ích

  • cơ sở dữ liệu. Danh sách của danh sách là bảng trong đó các danh sách bên trong là các hàng của cơ sở dữ liệu và bạn muốn gán mỗi hàng cho một khóa chính trong từ điển mới
  • bảng tính. Danh sách danh sách là dữ liệu bảng tính hai chiều và bạn muốn gán mỗi hàng cho một khóa (=tên hàng)
  • Phân tích dữ liệu. Bạn có một ma trận hai chiều (=mảng NumPy) ban đầu được biểu diễn dưới dạng danh sách danh sách và bạn muốn lấy từ điển để dễ dàng truy cập dữ liệu

Có ba cách chính để chuyển đổi danh sách danh sách thành từ điển trong Python ( nguồn )

  1. Từ điển hiểu
  2. biểu thức trình tạo
  3. cho vòng lặp

Hãy đi sâu vào từng vấn đề đó

1. Từ điển hiểu

Vấn đề. Giả sử bạn có một danh sách các danh sách trong đó mỗi danh sách đại diện cho một người và bao gồm ba giá trị cho tên, tuổi và màu tóc của người đó

Để thuận tiện, bạn muốn tạo một từ điển trong đó bạn sử dụng tên của một người làm khóa từ điển và danh sách phụ bao gồm độ tuổi và màu tóc làm giá trị từ điển

Dung dịch. Bạn có thể đạt được điều này bằng cách sử dụng tính năng hiểu từ điển đẹp mắt (nhưng đáng ngạc nhiên là ít được biết đến) trong Python

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

Giải trình. Tuyên bố hiểu từ điển bao gồm biểu thức

[[1, 2, 3], [4, 5], [6, 7, 8]]
20 gán tên của một người
[[1, 2, 3], [4, 5], [6, 7, 8]]
21 vào danh sách
[[1, 2, 3], [4, 5], [6, 7, 8]]
22 về tuổi và màu tóc của người đó

Hơn nữa, nó bao gồm ngữ cảnh

[[1, 2, 3], [4, 5], [6, 7, 8]]
23 lặp lại trên tất cả “các hàng dữ liệu”

2. biểu thức trình tạo

Một cách tương tự để đạt được điều tương tự là sử dụng biểu thức trình tạo kết hợp với hàm tạo

[[1, 2, 3], [4, 5], [6, 7, 8]]
24 để tạo từ điển

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

Đoạn mã này gần giống với đoạn mã được sử dụng trong phần “hiểu danh sách”. Sự khác biệt duy nhất là bạn sử dụng bộ dữ liệu chứ không phải ánh xạ trực tiếp để điền vào từ điển

3. cho vòng lặp

Tất nhiên, không cần phải cầu kỳ ở đây

Bạn cũng có thể sử dụng vòng lặp for thông thường và xác định từng phần tử từ điển trong một vòng lặp for đơn giản

Đây là mã thay thế

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

Một lần nữa, bạn ánh xạ tên của từng người vào danh sách bao gồm tuổi và màu tóc của họ

Chuyển đổi danh sách danh sách thành mảng NumPy

Làm cách nào để chuyển đổi danh sách danh sách thành mảng NumPy?

Giá trị duy nhất từ ​​​​danh sách danh sách python

Xem video này trên YouTube

Vấn đề. Đưa ra một danh sách các danh sách trong Python. Làm cách nào để chuyển đổi nó thành mảng 2D NumPy?

Thí dụ. Chuyển đổi danh sách sau thành danh sách

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

vào một mảng NumPy

lst = [[1, 2], [3, 4]]
0

Dung dịch. Sử dụng hàm

[[1, 2, 3], [4, 5], [6, 7, 8]]
25 để chuyển đổi danh sách các danh sách thành mảng NumPy hai chiều

Đây là mã

lst = [[1, 2], [3, 4]]
2

Cách chuyển đổi danh sách danh sách thành mảng NumPy với số lượng phần tử khác nhau

Vấn đề. Đưa ra một danh sách các danh sách. Các danh sách bên trong có số lượng phần tử khác nhau. Làm cách nào để chuyển đổi chúng thành một mảng NumPy?

Thí dụ. Giả sử, bạn đã có danh sách các danh sách sau

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

Các cách tiếp cận khác nhau để chuyển đổi danh sách danh sách này thành một mảng NumPy là gì?

Dung dịch. Có ba chiến lược khác nhau mà bạn có thể sử dụng. (nguồn)

(1) Sử dụng hàm [[1, 2, 3], [4, 5], [6, 7, 8]]26 tiêu chuẩn

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

Thao tác này tạo ra một mảng NumPy có ba phần tử—mỗi phần tử là một kiểu danh sách. Bạn có thể kiểm tra loại đầu ra bằng cách sử dụng hàm

[[1, 2, 3], [4, 5], [6, 7, 8]]
27 tích hợp

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

(2) Tạo một mảng các mảng

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

Điều này hợp lý hơn phiên bản trước vì nó tạo ra một mảng NumPy gồm các mảng NumPy 1D (chứ không phải danh sách Python 1D)

(3) Làm cho các danh sách có độ dài bằng nhau

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

Bạn sử dụng khả năng hiểu danh sách để “đệm” giá trị

[[1, 2, 3], [4, 5], [6, 7, 8]]
28 cho từng danh sách bên trong có độ dài nhỏ hơn độ dài tối đa

Đọc thêm. Xem bài viết gốc trên blog này để biết phiên bản chi tiết hơn của nội dung này

Chuyển đổi Danh sách Danh sách sang Dataframe

Cách chuyển đổi danh sách danh sách thành khung dữ liệu Pandas

Giá trị duy nhất từ ​​​​danh sách danh sách python

Xem video này trên YouTube

Vấn đề. Bạn được cung cấp một danh sách các danh sách. Mục tiêu của bạn là chuyển đổi nó thành Pandas Dataframe

Thí dụ. Giả sử, bạn muốn so sánh dữ liệu lương của các công ty khác nhau và mô tả công việc

Bạn đã thu được tập dữ liệu lương sau dưới dạng danh sách danh sách lồng nhau

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

Làm cách nào bạn có thể chuyển đổi cái này thành Khung dữ liệu Pandas?

Dung dịch. Giải pháp đơn giản là sử dụng hàm tạo

[[1, 2, 3], [4, 5], [6, 7, 8]]
29 để tạo đối tượng Dataframe mới từ các loại đầu vào khác nhau, chẳng hạn như mảng hoặc danh sách NumPy

Đây là cách thực hiện cho ví dụ đã cho

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

Điều này dẫn đến Dataframe sau

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

Một cách khác là phương pháp

[[1, 2, 3], [4, 5], [6, 7, 8]]
000 tạo ra cùng một đầu ra

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

Nếu bạn muốn thêm tên cột để làm cho đầu ra đẹp hơn, bạn cũng có thể chuyển các tên đó dưới dạng đối số riêng

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

Nếu danh sách đầu tiên của danh sách chứa tên cột, hãy sử dụng cắt để tách danh sách đầu tiên khỏi các danh sách khác

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

Cắt lát là một tính năng mạnh mẽ của Python và trước khi bạn có thể thành thạo Pandas, bạn cần thành thạo cắt lát

Hướng dẫn liên quan

  • Để làm mới kỹ năng cắt lát Python của bạn, hãy tải xuống miễn phí sách điện tử “Coffee Break Python Slicing” của tôi

Bản tóm tắt. Để chuyển đổi danh sách các danh sách thành Khung dữ liệu Pandas, hãy sử dụng hàm tạo

[[1, 2, 3], [4, 5], [6, 7, 8]]
001 và chuyển danh sách các danh sách làm đối số. Đối số cột tùy chọn có thể giúp bạn cấu trúc đầu ra

bài viết liên quan

  • Làm cách nào để chuyển đổi danh sách các danh sách thành Khung dữ liệu Python?

Chuyển đổi danh sách danh sách thành danh sách bộ dữ liệu

Nếu bạn đang vội, đây là câu trả lời ngắn gọn

Sử dụng câu lệnh hiểu danh sách

[[1, 2, 3], [4, 5], [6, 7, 8]]
002 để chuyển đổi từng phần tử trong
[[1, 2, 3], [4, 5], [6, 7, 8]]
003 của bạn thành một bộ. Điều này cũng hoạt động đối với danh sách các danh sách có số lượng phần tử khác nhau

Làm cách nào để chuyển đổi danh sách danh sách thành danh sách bộ dữ liệu trong Python?

Giá trị duy nhất từ ​​​​danh sách danh sách python

Xem video này trên YouTube

Nhưng còn nhiều điều hơn thế nữa và việc nghiên cứu hai phương pháp chính để đạt được cùng một mục tiêu sẽ giúp bạn trở thành một lập trình viên giỏi hơn. Vì vậy hãy tiếp tục đọc

Phương pháp 1. Danh sách hiểu + tuple()

Vấn đề. Làm cách nào để chuyển đổi danh sách danh sách thành danh sách bộ dữ liệu?

Thí dụ. Bạn có một danh sách các danh sách

[[1, 2, 3], [4, 5], [6, 7, 8]]
004 và bạn muốn chuyển đổi nó thành một danh sách các bộ dữ liệu
[[1, 2, 3], [4, 5], [6, 7, 8]]
005

Giá trị duy nhất từ ​​​​danh sách danh sách python

Dung dịch. Có nhiều giải pháp khác nhau để chuyển đổi danh sách danh sách thành danh sách bộ dữ liệu. Sử dụng khả năng hiểu danh sách ở dạng cơ bản nhất

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

Cách làm này đơn giản và hiệu quả

Khả năng hiểu danh sách xác định cách chuyển đổi từng giá trị (

[[1, 2, 3], [4, 5], [6, 7, 8]]
006 trong ví dụ) thành một phần tử danh sách mới. Vì mỗi phần tử danh sách là một bộ dữ liệu mới, bạn sử dụng hàm tạo
[[1, 2, 3], [4, 5], [6, 7, 8]]
007 để tạo bộ dữ liệu mới từ danh sách
[[1, 2, 3], [4, 5], [6, 7, 8]]
006

Nếu bạn có ba phần tử danh sách cho mỗi danh sách phụ, bạn có thể sử dụng phương pháp tương tự với chuyển đổi

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

Bạn có thể xem quy trình thực thi trong hình ảnh tương tác sau (chỉ cần nhấp vào nút “Tiếp theo” để xem điều gì đang xảy ra trong mã)

Và nếu bạn có số lượng phần tử danh sách khác nhau cho mỗi danh sách con, phương pháp này vẫn hoạt động tốt

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

Bạn thấy rằng cách tiếp cận với khả năng hiểu danh sách là cách tốt nhất để chuyển đổi danh sách các danh sách thành danh sách các bộ. Nhưng có bất kỳ lựa chọn thay thế?

Phương pháp 2. Chức năng bản đồ + tuple()

Một cách khác là sử dụng chức năng bản đồ áp dụng một chức năng được chỉ định trên từng phần tử của một lần lặp

💡 Guido van Rossum, người tạo ra Python, không thích hàm

[[1, 2, 3], [4, 5], [6, 7, 8]]
009 vì nó khó đọc hơn (và kém hiệu quả hơn) so với phiên bản hiểu danh sách. Vui lòng đọc một cuộc thảo luận chi tiết về cách anh ấy lập luận chính xác trong bài viết trên blog của tôi

Vì vậy, không cần phải quảng cáo thêm, đây là cách bạn có thể chuyển đổi danh sách các danh sách thành danh sách các bộ dữ liệu bằng cách sử dụng hàm

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

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

Đối số đầu tiên của hàm

[[1, 2, 3], [4, 5], [6, 7, 8]]
009 là tên hàm
[[1, 2, 3], [4, 5], [6, 7, 8]]
012

Hàm

[[1, 2, 3], [4, 5], [6, 7, 8]]
013 này chuyển đổi từng phần tử trên
[[1, 2, 3], [4, 5], [6, 7, 8]]
6 có thể lặp đã cho (đối số thứ hai) thành một bộ

Kết quả của hàm

[[1, 2, 3], [4, 5], [6, 7, 8]]
009 là một hàm có thể lặp lại, vì vậy bạn cần chuyển đổi nó thành một danh sách trước khi in nó ra trình bao vì biểu diễn chuỗi mặc định của một hàm có thể lặp lại không thể đọc được bằng con người

Những bài viết liên quan

  • Cách chuyển đổi danh sách danh sách thành danh sách bộ dữ liệu
  • Cách chuyển đổi danh sách các bộ dữ liệu thành danh sách danh sách
  • Cách chuyển đổi danh sách danh sách thành khung dữ liệu Pandas
  • Cách chuyển đổi danh sách danh sách thành mảng NumPy
  • Cách chuyển đổi danh sách danh sách thành từ điển trong Python

Chuyển đổi Danh sách Danh sách sang Tệp CSV

Cách chuyển đổi danh sách danh sách thành tệp CSV bằng Python

Giá trị duy nhất từ ​​​​danh sách danh sách python

Xem video này trên YouTube

Vấn đề. Làm cách nào để chuyển đổi danh sách các danh sách thành tệp

[[1, 2, 3], [4, 5], [6, 7, 8]]
016?

Thí dụ. Given là một danh sách các danh sách—ví dụ: dữ liệu lương của nhân viên trong một công ty nhất định

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

Mục tiêu của bạn là viết nội dung của danh sách các danh sách thành định dạng tệp giá trị được phân tách bằng dấu phẩy (CSV)

Outfile của bạn sẽ trông như thế này

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

Dung dịch. Có bốn cách đơn giản để chuyển đổi danh sách danh sách thành tệp CSV trong Python

  1. CSV. Nhập mô-đun
    [[1, 2, 3], [4, 5], [6, 7, 8]]
    016 bằng Python, tạo một đối tượng người viết csv và ghi danh sách các danh sách vào tệp bằng cách sử dụng phương thức
    [[1, 2, 3], [4, 5], [6, 7, 8]]
    018 trên đối tượng người viết
  2. gấu trúc. Nhập thư viện gấu trúc, tạo Khung dữ liệu Pandas và ghi Khung dữ liệu vào một tệp bằng phương pháp Khung dữ liệu
    [[1, 2, 3], [4, 5], [6, 7, 8]]
    019
  3. NumPy. Nhập thư viện NumPy, tạo mảng NumPy và ghi đầu ra vào tệp CSV bằng phương thức
    [[1, 2, 3], [4, 5], [6, 7, 8]]
    020
  4. con trăn. Sử dụng triển khai Python thuần túy không yêu cầu bất kỳ thư viện nào bằng cách sử dụng chức năng I/O của tệp Python

Sở thích của tôi là phương pháp 2 (Pandas) vì nó đơn giản nhất để sử dụng và mạnh mẽ nhất cho các loại đầu vào khác nhau (số hoặc văn bản)

Phương pháp 1. Mô-đun CSV Python

Bạn có thể dễ dàng chuyển đổi danh sách các danh sách thành tệp CSV bằng Python—bằng cách sử dụng thư viện

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

Đây là tùy biến nhất trong cả bốn phương pháp

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

đầu ra

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

Trong mã, trước tiên bạn mở tệp bằng lệnh

[[1, 2, 3], [4, 5], [6, 7, 8]]
022 tiêu chuẩn của Python. Bây giờ, bạn có thể ghi nội dung vào đối tượng tệp
[[1, 2, 3], [4, 5], [6, 7, 8]]
023

Tiếp theo, bạn chuyển đối tượng tệp này tới hàm tạo của trình ghi CSV thực hiện một số phương thức trợ giúp bổ sung—và bao bọc đối tượng tệp một cách hiệu quả, cung cấp cho bạn chức năng mới dành riêng cho CSV, chẳng hạn như phương thức

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

Bây giờ, bạn chuyển một danh sách các danh sách sang phương pháp

[[1, 2, 3], [4, 5], [6, 7, 8]]
018 của trình soạn thảo CSV đảm nhiệm việc chuyển đổi danh sách các danh sách sang định dạng CSV

Bạn có thể tùy chỉnh trình ghi CSV trong hàm tạo của nó (e. g. , bằng cách sửa đổi dấu phân cách từ dấu phẩy

[[1, 2, 3], [4, 5], [6, 7, 8]]
026 thành ký tự khoảng trắng
[[1, 2, 3], [4, 5], [6, 7, 8]]
027)

Hãy xem thông số kỹ thuật để tìm hiểu về các sửa đổi nâng cao

Phương pháp 2. Pandas DataFrame to_csv()

Giá trị duy nhất từ ​​​​danh sách danh sách python

Bạn có thể chuyển đổi danh sách các danh sách thành Khung dữ liệu Pandas cung cấp cho bạn các khả năng mạnh mẽ, chẳng hạn như phương pháp

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

Đây là phương pháp đơn giản nhất và nó cho phép bạn tránh nhập thêm một thư viện khác (dù sao thì tôi cũng sử dụng Pandas trong nhiều dự án Python)

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

đầu ra

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

Bạn tạo một Khung dữ liệu Pandas—là biểu diễn dữ liệu dạng bảng mặc định của Python. Hãy coi nó như một bảng tính Excel trong mã của bạn (có hàng và cột)

DataFrame là một cấu trúc dữ liệu rất mạnh cho phép bạn thực hiện các phương thức khác nhau. Một trong số đó là phương pháp

[[1, 2, 3], [4, 5], [6, 7, 8]]
028 cho phép bạn ghi nội dung của nó vào tệp CSV

Bạn đặt các đối số

[[1, 2, 3], [4, 5], [6, 7, 8]]
030 và
[[1, 2, 3], [4, 5], [6, 7, 8]]
031 của phương thức
[[1, 2, 3], [4, 5], [6, 7, 8]]
028 thành
[[1, 2, 3], [4, 5], [6, 7, 8]]
033 vì Pandas, theo mặc định, thêm các chỉ số hàng và cột số nguyên 0, 1, 2, …

Một lần nữa, hãy nghĩ về chúng như các chỉ số hàng và cột trong bảng tính Excel của bạn. Bạn không muốn chúng xuất hiện trong tệp CSV nên bạn đặt đối số thành

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

Nếu bạn muốn tùy chỉnh đầu ra CSV, bạn có rất nhiều đối số đặc biệt để sử dụng. Kiểm tra bài viết này để biết danh sách đầy đủ tất cả các đối số

bài viết liên quan. Pandas Cheat Sheet để ghim vào tường của bạn

Phương pháp 3. NumPy savetxt()

NumPy là cốt lõi của chức năng học máy và khoa học dữ liệu của Python. Ngay cả Pandas cũng sử dụng mảng NumPy để triển khai chức năng quan trọng

Bạn có thể chuyển đổi danh sách các danh sách thành tệp CSV bằng cách sử dụng hàm

[[1, 2, 3], [4, 5], [6, 7, 8]]
035 của NumPy và chuyển mảng NumPy làm đối số phát sinh từ việc chuyển đổi danh sách các danh sách

Phương pháp này là tốt nhất nếu bạn chỉ có dữ liệu số—nếu không, nó sẽ dẫn đến chuyển đổi loại dữ liệu phức tạp không được khuyến nghị

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

đầu ra

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

Đầu ra trông không đẹp. nó lưu trữ các giá trị dưới dạng float

Nhưng đừng lo, bạn có thể định dạng lại đầu ra bằng cách sử dụng đối số định dạng

[[1, 2, 3], [4, 5], [6, 7, 8]]
036 của phương thức
[[1, 2, 3], [4, 5], [6, 7, 8]]
037 (thêm tại đây)

Tuy nhiên, tôi khuyên bạn nên sử dụng phương pháp 2 (Pandas) để tránh sự phức tạp không cần thiết trong mã của bạn

Có liên quan

  • [Nhận sách của bạn] Coffee Break NumPy và trở thành bậc thầy về khoa học dữ liệu

Phương pháp 4. Python thuần túy không có phụ thuộc bên ngoài

Nếu bạn không muốn nhập bất kỳ thư viện nào mà vẫn chuyển đổi danh sách các danh sách thành tệp CSV, bạn cũng có thể sử dụng triển khai Python tiêu chuẩn. nó không phức tạp và hiệu quả

Tuy nhiên, nếu có thể, bạn nên dựa vào các thư viện thực hiện công việc cho bạn

Phương pháp này là tốt nhất nếu bạn không hoặc không thể sử dụng các phụ thuộc bên ngoài

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

đầu ra

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

Trong mã, trước tiên bạn mở đối tượng tệp

[[1, 2, 3], [4, 5], [6, 7, 8]]
023. Sau đó, bạn lặp lại từng hàng và từng phần tử trong hàng và ghi phần tử vào tệp — từng phần một

Sau mỗi phần tử, bạn đặt dấu phẩy để tạo định dạng tệp CSV. Sau mỗi hàng, bạn đặt ký tự xuống dòng

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

💡 Lưu ý. Để loại bỏ dấu phẩy ở cuối, bạn có thể kiểm tra xem phần tử

[[1, 2, 3], [4, 5], [6, 7, 8]]
006 có phải là phần tử cuối cùng trong hàng trong thân vòng lặp hay không và bỏ qua việc viết dấu phẩy nếu đó là

Hướng dẫn liên quan. Tham gia cộng đồng Finxter và tải xuống hơn 8 bảng cheat Python của bạn để nâng cao hiểu biết về mã của bạn

Sắp xếp Danh sách Danh sách theo Khóa

Mọi nhà khoa học máy tính đều thích sắp xếp mọi thứ. Trong phần này, tôi sẽ chỉ cho bạn cách bạn có thể sửa đổi hành vi sắp xếp mặc định của Python bằng đối số key

Định nghĩa và cách sử dụng. Để tùy chỉnh hành vi sắp xếp mặc định của phương pháp

[[1, 2, 3], [4, 5], [6, 7, 8]]
041 và
[[1, 2, 3], [4, 5], [6, 7, 8]]
042, hãy sử dụng đối số tùy chọn
[[1, 2, 3], [4, 5], [6, 7, 8]]
043 bằng cách chuyển một hàm trả về một giá trị có thể so sánh được cho từng phần tử trong danh sách

Sắp xếp danh sách Python() – Hướng dẫn cơ bản

Giá trị duy nhất từ ​​​​danh sách danh sách python

Xem video này trên YouTube

cú pháp. Bạn có thể gọi phương thức này trên từng đối tượng danh sách trong Python (Python phiên bản 2. x và 3. x)

Đây là cú pháp

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

Đối số Mô tả ____1043(Tùy chọn. Mặc định
[[1, 2, 3], [4, 5], [6, 7, 8]]
28. ) Truyền một hàm nhận một đối số và trả về một giá trị có thể so sánh được. Hàm này sau đó được áp dụng cho từng phần tử trong danh sách. Sau đó, phương thức sắp xếp dựa trên kết quả của hàm chính thay vì chính các phần tử.
[[1, 2, 3], [4, 5], [6, 7, 8]]
047(Tùy chọn. Mặc định
[[1, 2, 3], [4, 5], [6, 7, 8]]
033. ) Thứ tự của các phần tử danh sách. Nếu
[[1, 2, 3], [4, 5], [6, 7, 8]]
033, sắp xếp theo thứ tự tăng dần. Nếu
[[1, 2, 3], [4, 5], [6, 7, 8]]
050, nó theo thứ tự giảm dần

Những bài viết liên quan

  • Phương pháp danh sách Python [Tổng quan]
  • Danh sách Python
    [[1, 2, 3], [4, 5], [6, 7, 8]]
    051 – Hướng dẫn cơ bản
  • Danh sách Python – Mọi thứ bạn cần biết để bắt đầu

Phương thức

[[1, 2, 3], [4, 5], [6, 7, 8]]
041 lấy một hàm khác làm đối số tùy chọn
[[1, 2, 3], [4, 5], [6, 7, 8]]
043 cho phép bạn sửa đổi hành vi sắp xếp mặc định

Hàm khóa sau đó được gọi trên mỗi phần tử danh sách và trả về một giá trị khác dựa trên đó việc sắp xếp được thực hiện. Do đó, hàm khóa nhận một đối số đầu vào (phần tử danh sách) và trả về một giá trị đầu ra (giá trị có thể so sánh được)

Đây là một ví dụ

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

Bạn có thể thấy rằng trong hai ví dụ đầu tiên, danh sách được sắp xếp theo giá trị danh sách bên trong đầu tiên

Trong ví dụ thứ ba, danh sách được sắp xếp theo giá trị danh sách bên trong thứ hai

Bạn đạt được điều này bằng cách xác định một hàm khóa

[[1, 2, 3], [4, 5], [6, 7, 8]]
054 lấy một phần tử danh sách
[[1, 2, 3], [4, 5], [6, 7, 8]]
006 (một danh sách riêng) làm đối số và chuyển đổi nó thành một giá trị có thể so sánh được
[[1, 2, 3], [4, 5], [6, 7, 8]]
056 (giá trị danh sách thứ hai)

bài viết liên quan

  • Giới thiệu về Hàm Lambda trong Python

Sắp xếp Danh sách Danh sách theo Phần tử Đầu tiên

Cả phương thức list

[[1, 2, 3], [4, 5], [6, 7, 8]]
051 và hàm Python tích hợp
[[1, 2, 3], [4, 5], [6, 7, 8]]
058 đều sắp xếp danh sách các danh sách theo phần tử đầu tiên của chúng

Đây là một ví dụ

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

Quy trình sắp xếp mặc định lấy phần tử danh sách đầu tiên của bất kỳ danh sách bên trong nào làm tiêu chí quyết định. Chỉ khi phần tử đầu tiên giống nhau cho hai giá trị, thì phần tử danh sách thứ hai sẽ được coi là phần tử kết hợp

Sắp xếp danh sách các danh sách theo từ điển

Vấn đề. Đưa ra một danh sách các danh sách. Sắp xếp danh sách các chuỗi theo thứ tự từ điển

💡 Thứ tự từ điển là sắp xếp theo phần tử danh sách bên trong đầu tiên. Nếu chúng giống nhau, bạn sắp xếp theo phần tử danh sách bên trong thứ hai, v.v.

Thí dụ

Chúng tôi muốn sắp xếp danh sách sau trong đó các phần tử đầu tiên của danh sách bên trong giống nhau

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

Dung dịch. Sử dụng phương pháp

[[1, 2, 3], [4, 5], [6, 7, 8]]
041 không đối số để giải danh sách theo thứ tự từ điển

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

Sắp xếp danh sách danh sách theo độ dài

Vấn đề. Đưa ra một danh sách các danh sách. Làm thế nào bạn có thể sắp xếp chúng theo chiều dài?

Thí dụ. Bạn muốn sắp xếp danh sách các danh sách

[[1, 2, 3], [4, 5], [6, 7, 8]]
060 theo độ dài—bắt đầu với danh sách ngắn nhất

Do đó, kết quả mục tiêu của bạn là

[[1, 2, 3], [4, 5], [6, 7, 8]]
061. Làm thế nào để đạt được điều đó?

Dung dịch. Sử dụng hàm

[[1, 2, 3], [4, 5], [6, 7, 8]]
062 làm đối số chính của phương thức
[[1, 2, 3], [4, 5], [6, 7, 8]]
041 như thế này.
[[1, 2, 3], [4, 5], [6, 7, 8]]
064

Vì hàm

[[1, 2, 3], [4, 5], [6, 7, 8]]
065 là hàm tích hợp sẵn của Python nên bạn không cần nhập hoặc xác định bất kỳ thứ gì khác

Đây là giải pháp mã

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

Đầu ra là danh sách được sắp xếp theo độ dài của chuỗi

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

Bạn cũng có thể sử dụng kỹ thuật này để sắp xếp danh sách các chuỗi theo độ dài

Danh sách hiểu Python Danh sách danh sách

Danh sách hiểu Python Danh sách danh sách

Giá trị duy nhất từ ​​​​danh sách danh sách python

Xem video này trên YouTube

Bạn sẽ học ba cách để áp dụng khả năng hiểu danh sách vào danh sách các danh sách

  • để làm phẳng một danh sách các danh sách
  • để tạo một danh sách các danh sách
  • để lặp qua một danh sách các danh sách

Ngoài ra, bạn sẽ học cách áp dụng khả năng hiểu danh sách lồng nhau. Vậy hãy bắt đầu

Danh sách hiểu danh sách Python Làm phẳng danh sách danh sách

Vấn đề. Đưa ra một danh sách các danh sách. Làm thế nào để làm phẳng danh sách các danh sách bằng cách loại bỏ các danh sách bên trong—và giữ nguyên các phần tử của chúng?

Thí dụ. Bạn muốn chuyển đổi một danh sách đã cho thành một danh sách phẳng như ở đây

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

Giá trị duy nhất từ ​​​​danh sách danh sách python

Dung dịch. Sử dụng câu lệnh hiểu danh sách lồng nhau

[[1, 2, 3], [4, 5], [6, 7, 8]]
5 để làm phẳng danh sách

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

Giải trình. Trong câu lệnh hiểu danh sách lồng nhau

[[1, 2, 3], [4, 5], [6, 7, 8]]
5, trước tiên bạn lặp lại tất cả các danh sách trong danh sách các danh sách (
[[1, 2, 3], [4, 5], [6, 7, 8]]
068)

Sau đó, bạn lặp lại tất cả các phần tử trong danh sách hiện tại (

[[1, 2, 3], [4, 5], [6, 7, 8]]
069). Phần tử này, bạn chỉ cần đặt trong danh sách bên ngoài, không thay đổi, bằng cách sử dụng nó trong phần “biểu thức” của câu lệnh hiểu danh sách
[[1, 2, 3], [4, 5], [6, 7, 8]]
070

Hiểu danh sách Python Tạo danh sách danh sách

Vấn đề. Làm cách nào để tạo danh sách danh sách bằng cách sửa đổi từng thành phần của danh sách danh sách ban đầu?

Thí dụ. Bạn được cung cấp danh sách

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

Bạn muốn thêm một vào mỗi phần tử và tạo một danh sách các danh sách mới

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

Dung dịch. Sử dụng hai câu lệnh hiểu danh sách lồng nhau, một để tạo danh sách bên ngoài của danh sách và một để tạo danh sách bên trong

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

Giải trình. Ý tưởng chính là sử dụng như một “biểu thức” của câu lệnh hiểu danh sách bên ngoài, một câu lệnh hiểu danh sách của chính nó

Hãy nhớ rằng, bạn có thể tạo bất kỳ đối tượng nào bạn muốn trong phần biểu thức của câu lệnh đọc hiểu danh sách của mình. Đọc thêm tại đây

In Danh Sách Danh Sách Không Có Dấu ngoặc

Vấn đề. Đưa ra một danh sách các danh sách, in nó một hàng trên mỗi dòng—không có dấu ngoặc

Thí dụ. Xem xét danh sách ví dụ sau

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

Bạn muốn in danh sách các danh sách có ký tự xuống dòng sau mỗi danh sách bên trong

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

Dung dịch. Sử dụng vòng lặp for và câu lệnh

[[1, 2, 3], [4, 5], [6, 7, 8]]
071 đơn giản trong đó bạn giải nén tất cả các phần tử danh sách bên trong bằng toán tử dấu hoa thị

Đây là một ví dụ

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

Đầu ra có hình thức mong muốn

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

Giải trình. Toán tử dấu hoa thị “giải nén” tất cả các giá trị trong danh sách bên trong

[[1, 2, 3], [4, 5], [6, 7, 8]]
006 vào câu lệnh in

Bạn phải biết rằng câu lệnh in cũng nhận nhiều đầu vào và in chúng, được phân tách bằng khoảng trắng, ra trình bao

Những bài viết liên quan

  • Toán tử giải nén *
  • Cách in danh sách đẹp mắt
  • Danh sách danh sách Python
  • In danh sách danh sách

In danh sách danh sách với cột dòng mới & căn chỉnh

Vấn đề. Làm cách nào để in danh sách các danh sách có một dòng mới sau mỗi danh sách để các cột được căn chỉnh?

Thí dụ. Giả sử, bạn sẽ in danh sách các danh sách

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

Làm thế nào để căn chỉnh các cột?

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

Dung dịch. Sử dụng đoạn mã sau để in danh sách các danh sách và căn chỉnh tất cả các cột (bất kể mỗi chuỗi trong danh sách chiếm bao nhiêu ký tự)

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

Đầu ra là mong muốn

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

Giải trình

  • Đầu tiên, bạn xác định độ dài
    [[1, 2, 3], [4, 5], [6, 7, 8]]
    073 (tính bằng ký tự) của chuỗi lớn nhất trong danh sách các danh sách bằng cách sử dụng câu lệnh
    [[1, 2, 3], [4, 5], [6, 7, 8]]
    074. Mã này sử dụng vòng lặp for lồng nhau trong biểu thức trình tạo để đạt được điều này
  • Thứ hai, bạn lặp qua từng danh sách trong danh sách danh sách (được gọi là
    [[1, 2, 3], [4, 5], [6, 7, 8]]
    075)
  • Thứ ba, bạn tạo một biểu diễn chuỗi với các cột được căn chỉnh bằng cách 'đệm' từng phần tử hàng sao cho nó chiếm khoảng cách
    [[1, 2, 3], [4, 5], [6, 7, 8]]
    076 ký tự. Các ký tự còn thiếu được lấp đầy bởi khoảng trống

Bạn có thể xem mã đang hoạt động trong trình hiển thị bộ nhớ sau. Chỉ cần nhấp vào “Tiếp theo” để xem đối tượng nào được tạo trong bộ nhớ nếu bạn chạy mã bằng Python

Những bài viết liên quan. Bạn có thể cần làm mới hiểu biết của mình về các tính năng Python sau đây được sử dụng trong mã

  • Danh sách hiểu và biểu thức trình tạo
  • nối chuỗi()
  • In danh sách

Python Danh sách liệt kê danh sách

Giả sử, bạn đã cung cấp đoạn mã sau sử dụng hàm liệt kê trên danh sách các danh sách

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

đầu ra là

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

Hàm

[[1, 2, 3], [4, 5], [6, 7, 8]]
077 tạo một trình lặp gồm các cặp (chỉ mục, phần tử) cho tất cả các phần tử trong một danh sách nhất định

Nếu bạn có một danh sách các danh sách, các phần tử danh sách chính là danh sách

Vì vậy, hàm

[[1, 2, 3], [4, 5], [6, 7, 8]]
078 tạo các cặp (chỉ mục, danh sách). Bạn có thể sử dụng chúng trong thân vòng lặp—ví dụ: để in độ dài của phần tử danh sách thứ i

Xóa trống – Danh sách danh sách Python

Làm cách nào bạn có thể xóa tất cả danh sách trống khỏi danh sách danh sách?

Giả sử, bạn có một danh sách các danh sách

[[1, 2, 3], [4, 5], [6, 7, 8]]
079 và bạn muốn xóa tất cả các danh sách trống để lấy danh sách các danh sách
[[1, 2, 3], [4, 5], [6, 7, 8]]
080

Dung dịch. Sử dụng khả năng hiểu danh sách

[[1, 2, 3], [4, 5], [6, 7, 8]]
081 để lọc danh sách và xóa tất cả các danh sách trống

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

Điều kiện nếu

[[1, 2, 3], [4, 5], [6, 7, 8]]
006 đánh giá thành
[[1, 2, 3], [4, 5], [6, 7, 8]]
033 chỉ khi danh sách
[[1, 2, 3], [4, 5], [6, 7, 8]]
006 trống. Trong tất cả các trường hợp khác, nó ước tính là
[[1, 2, 3], [4, 5], [6, 7, 8]]
050 và phần tử được đưa vào danh sách mới

Xóa các bản sao – Danh sách danh sách Python

Làm cách nào để xóa các bản sao khỏi danh sách danh sách Python?

Giá trị duy nhất từ ​​​​danh sách danh sách python

Xem video này trên YouTube

Cách tốt nhất để loại bỏ các bản sao khỏi danh sách danh sách Python là gì?

Đây là một câu hỏi phỏng vấn mã hóa phổ biến tại Google, Facebook và Amazon. Trong phần sau, tôi sẽ chỉ cho bạn cách (và tại sao) nó hoạt động—vì vậy hãy tiếp tục đọc

Phương pháp 1. Phương pháp ngây thơ

thuật toán

  • Đi qua từng phần tử và kiểm tra xem phần tử này đã tồn tại trong danh sách chưa
  • Nếu vậy, loại bỏ nó

Vấn đề là phương pháp này có độ phức tạp theo thời gian bậc hai vì bạn cần kiểm tra từng phần tử nếu nó tồn tại trong danh sách (là

[[1, 2, 3], [4, 5], [6, 7, 8]]
086 cho các phần tử
[[1, 2, 3], [4, 5], [6, 7, 8]]
073)

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

Phương pháp 2. Chuyển đổi từ điển tạm thời

thuật toán. Một cách hiệu quả hơn về độ phức tạp về thời gian là tạo một từ điển từ các phần tử trong danh sách để loại bỏ tất cả các bản sao và chuyển đổi từ điển trở lại danh sách

Điều này giữ nguyên thứ tự của các phần tử danh sách ban đầu

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

Tất cả bốn phương thức con sau đây đều là hoạt động thời gian chạy tuyến tính

Do đó, thuật toán có độ phức tạp thời gian chạy tuyến tính và hiệu quả hơn cách tiếp cận ngây thơ (phương pháp 1)

  1. Chuyển đổi thành danh sách các bộ bằng cách sử dụng hiểu danh sách
    [[1, 2, 3], [4, 5], [6, 7, 8]]
    088. Các bộ dữ liệu có thể băm được và có thể được sử dụng làm khóa từ điển—trong khi danh sách không thể
  2. Chuyển đổi danh sách các bộ dữ liệu thành từ điển với
    [[1, 2, 3], [4, 5], [6, 7, 8]]
    089 để ánh xạ các bộ dữ liệu thành các giá trị giả. Mỗi khóa từ điển chỉ có thể tồn tại một lần nên các khóa trùng lặp sẽ bị xóa tại thời điểm này
  3. Chuyển đổi từ điển thành danh sách các bộ dữ liệu với
    [[1, 2, 3], [4, 5], [6, 7, 8]]
    090
  4. Chuyển đổi danh sách các bộ dữ liệu thành danh sách các danh sách bằng cách sử dụng hiểu danh sách
    [[1, 2, 3], [4, 5], [6, 7, 8]]
    091

Giá trị duy nhất từ ​​​​danh sách danh sách python

Mỗi phần tử danh sách (= một danh sách) trở thành một bộ trở thành một khóa mới cho từ điển

Ví dụ, danh sách

[[1, 2, 3], [4, 5], [6, 7, 8]]
092 trở thành danh sách
[[1, 2, 3], [4, 5], [6, 7, 8]]
093 từ điển
[[1, 2, 3], [4, 5], [6, 7, 8]]
094. Không có}

Tất cả các phần tử xảy ra nhiều lần sẽ được gán cho cùng một khóa. Do đó, từ điển chỉ chứa các khóa duy nhất—không thể có nhiều khóa bằng nhau

Là giá trị từ điển, bạn lấy giá trị giả (theo mặc định)

Sau đó, bạn chuyển đổi từ điển trở lại danh sách các danh sách, loại bỏ các giá trị giả

Từ điển Python có duy trì thứ tự của các phím không?

Đáng ngạc nhiên, các khóa từ điển trong Python giữ nguyên thứ tự của các phần tử. Vì vậy, vâng, thứ tự của các phần tử được giữ nguyên. (nguồn)

Điều này gây ngạc nhiên cho nhiều độc giả vì vô số tài nguyên trực tuyến như tài liệu này cho rằng thứ tự của các khóa từ điển không được bảo toàn

Họ giả định rằng việc triển khai cơ bản của các lần lặp khóa từ điển sử dụng các tập hợp—và các tập hợp nổi tiếng là không thể xác định được thứ tự của các phần tử

Nhưng giả định này là sai. Việc triển khai từ điển Python tích hợp trong cPython giữ nguyên thứ tự

Đây là một ví dụ, vui lòng tạo các ví dụ và thử nghiệm của riêng bạn để kiểm tra xem thứ tự có được giữ nguyên không

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

Bạn thấy thứ tự các phần tử được giữ nguyên nên khi chuyển đổi ngược lại thứ tự ban đầu của các phần tử danh sách vẫn được giữ nguyên

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

Tuy nhiên, bạn không thể dựa vào nó vì về mặt lý thuyết, bất kỳ triển khai Python nào cũng có thể quyết định không duy trì trật tự (lưu ý “COULD” ở đây là 100% lý thuyết và không áp dụng cho triển khai cPython mặc định)

Nếu bạn cần chắc chắn rằng thứ tự được giữ nguyên, bạn có thể sử dụng thư viện từ điển đã đặt hàng. Trong cPython, đây chỉ là một trình bao bọc để triển khai dict mặc định

Phương pháp 3. Đặt chuyển đổi

Đưa ra một danh sách các danh sách, mục tiêu là loại bỏ tất cả các phần tử tồn tại nhiều lần trong danh sách

Các bộ trong Python chỉ cho phép một phiên bản duy nhất của một phần tử. Vì vậy, bằng cách chuyển đổi danh sách thành một tập hợp, tất cả các bản sao sẽ bị xóa

Trái ngược với cách tiếp cận ngây thơ (kiểm tra tất cả các cặp phần tử nếu chúng trùng lặp) có độ phức tạp thời gian bậc hai, phương pháp này có độ phức tạp thời gian chạy tuyến tính

Tại sao?

Bởi vì độ phức tạp thời gian chạy của việc tạo một tập hợp là tuyến tính theo số lượng phần tử của tập hợp. Bây giờ, bạn chuyển đổi tập hợp trở lại danh sách và thì đấy, các bản sao sẽ bị xóa

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

Tuy nhiên, việc chuyển đổi danh sách thành tập hợp không đảm bảo giữ nguyên thứ tự của các phần tử danh sách. Bộ mất tất cả thông tin đặt hàng

Ngoài ra, bạn không thể tạo tập hợp danh sách vì danh sách là loại dữ liệu không thể băm

lst = [[1, 2], [3, 4]]
00

Nhưng chúng ta có thể tìm ra cách giải quyết đơn giản cho cả hai vấn đề như bạn sẽ thấy trong phương pháp sau

Phương pháp thời gian chạy tuyến tính với thiết lập để loại bỏ các bản sao khỏi danh sách danh sách

Cách tiếp cận thứ ba này sử dụng một tập hợp để kiểm tra xem phần tử đã có trong danh sách không trùng lặp chưa

Vì kiểm tra tư cách thành viên trên bộ nhanh hơn nhiều so với kiểm tra tư cách thành viên trên danh sách, nên phương pháp này cũng có độ phức tạp thời gian chạy tuyến tính (tư cách thành viên có độ phức tạp thời gian chạy không đổi)

lst = [[1, 2], [3, 4]]
01

Cách tiếp cận loại bỏ các bản sao khỏi danh sách trong khi vẫn duy trì thứ tự của các phần tử cũng có độ phức tạp thời gian chạy tuyến tính

Và nó hoạt động với tất cả các ngôn ngữ lập trình mà bạn không cần phải biết chi tiết triển khai về từ điển trong Python. Nhưng mặt khác, nó phức tạp hơn một chút

Những bài viết liên quan

  • Làm cách nào để xóa các bản sao khỏi danh sách danh sách trong Python?
  • Xóa danh sách Python
  • Hướng dẫn Cơ bản về Từ điển Python
  • Xóa các bản sao khỏi danh sách Python
  • Danh sách danh sách Python

Đảo ngược - Danh sách danh sách Python

[[1, 2, 3], [4, 5], [6, 7, 8]]
095 đảo ngược thứ tự của các phần tử trong
[[1, 2, 3], [4, 5], [6, 7, 8]]
003. Nếu bạn muốn tạo một danh sách mới với các phần tử bị đảo ngược, hãy sử dụng phép cắt với kích thước bước âm
[[1, 2, 3], [4, 5], [6, 7, 8]]
097

Đây là một ví dụ ngắn

lst = [[1, 2], [3, 4]]
02

Trong dòng đầu tiên của ví dụ, bạn tạo danh sách

[[1, 2, 3], [4, 5], [6, 7, 8]]
6. Sau đó, bạn đảo ngược thứ tự của các phần tử trong danh sách và in nó ra trình bao

đảo ngược phẳng

Nhưng nếu bạn sử dụng phương pháp

[[1, 2, 3], [4, 5], [6, 7, 8]]
099 trên danh sách các danh sách, bạn chỉ thu được đảo ngược “phẳng”—chỉ đảo ngược danh sách bên ngoài chứ không đảo ngược danh sách bên trong

lst = [[1, 2], [3, 4]]
03

Vì vậy, thứ tự của hai danh sách bên trong hiện đã bị đảo ngược nhưng không phải thứ tự của các phần tử danh sách của chúng

sâu đảo ngược

Điều gì sẽ xảy ra nếu bạn không chỉ muốn đảo ngược danh sách mà còn chạy ngược sâu trong đó tất cả các danh sách lồng nhau cũng được đảo ngược theo cách đệ quy?

Đây là cách bạn có thể làm điều đó

lst = [[1, 2], [3, 4]]
04

Không chỉ danh sách cấp một bị đảo ngược mà cả danh sách cấp hai. Mã được lấy cảm hứng từ bài viết này

Zip Python Danh sách các danh sách

Hàm

[[1, 2, 3], [4, 5], [6, 7, 8]]
100 lấy một số lần lặp và tổng hợp chúng thành một lần duy nhất bằng cách kết hợp các giá trị thứ i của mỗi lần lặp thành một bộ

Ví dụ: nén các danh sách

[[1, 2, 3], [4, 5], [6, 7, 8]]
101 và
[[1, 2, 3], [4, 5], [6, 7, 8]]
102 thành
[[1, 2, 3], [4, 5], [6, 7, 8]]
103

Vấn đề. Việc chuyển danh sách các danh sách vào hàm zip không hoạt động vì hàm zip yêu cầu số lần lặp tùy ý (chứ không phải số lần lặp của các lần lặp)

Thí dụ. Giả sử, bạn muốn nén một danh sách các danh sách

lst = [[1, 2], [3, 4]]
05

🛑 CHÚ Ý. MÃ NÀY KHÔNG HOÀN THÀNH ĐIỀU NÀY

Dung dịch. Giải nén các danh sách trong danh sách các danh sách bằng cách sử dụng toán tử dấu hoa thị “giải nén”

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

lst = [[1, 2], [3, 4]]
06

Nghĩ theo cách này. toán tử dấu hoa thị loại bỏ dấu ngoặc "bên ngoài" của danh sách và chuyển tất cả các danh sách bên trong làm đối số

Lưu ý rằng bạn cũng chuyển đổi đối tượng zip được hàm zip trả về thành danh sách bằng cách sử dụng hàm tạo

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

Giải nén Python Danh sách danh sách

Bạn đã xem một ví dụ về giải nén danh sách các danh sách trong phần trước (hàm

[[1, 2, 3], [4, 5], [6, 7, 8]]
106)

lst = [[1, 2], [3, 4]]
06

Hàm

[[1, 2, 3], [4, 5], [6, 7, 8]]
106 mong đợi một số lần lặp nhưng danh sách các danh sách chỉ là một lần lặp duy nhất

Để giải quyết vấn đề này, bạn giải nén các danh sách bên trong vào hàm zip để sử dụng chúng làm đối số cho các lần lặp. Bằng cách này,

[[1, 2, 3], [4, 5], [6, 7, 8]]
100 chạy với ba đối số có thể lặp lại.
[[1, 2, 3], [4, 5], [6, 7, 8]]
109,
[[1, 2, 3], [4, 5], [6, 7, 8]]
110 và
[[1, 2, 3], [4, 5], [6, 7, 8]]
111

bài viết liên quan. Toán tử giải nén (Dấu hoa thị)

Trung bình - Danh sách danh sách Python

Làm cách nào để tính trung bình một danh sách các danh sách trong Python?

Giá trị duy nhất từ ​​​​danh sách danh sách python

Xem video này trên YouTube

Vấn đề. Bạn có một danh sách các danh sách và bạn muốn tính trung bình cộng của các cột khác nhau

Thí dụ. Cho danh sách sau đây gồm các danh sách có bốn hàng và ba cột

lst = [[1, 2], [3, 4]]
08

Bạn muốn có các giá trị trung bình của ba cột

lst = [[1, 2], [3, 4]]
09

Phương pháp 1. Trung bình bằng Python (Không có thư viện)

Một lớp lót đơn giản với khả năng hiểu danh sách kết hợp với hàm

[[1, 2, 3], [4, 5], [6, 7, 8]]
100 trên danh sách đã giải nén để chuyển đổi danh sách các danh sách thực hiện công việc trong Python

lst = [[1, 2], [3, 4]]
20

Bạn có thích Python one-liners? . Nhấp để xem sách trong tab mới

Giá trị duy nhất từ ​​​​danh sách danh sách python

Bạn có thể hình dung việc thực thi mã và các đối tượng bộ nhớ của mã này trong công cụ sau (chỉ cần nhấp vào “Tiếp theo” để xem cách một bước của mã mở ra)

Phương pháp 2. Trung bình với Thư viện NumPy

Bạn tạo một mảng NumPy từ dữ liệu và chuyển nó tới hàm

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

lst = [[1, 2], [3, 4]]
21

Đối số

[[1, 2, 3], [4, 5], [6, 7, 8]]
114 của hàm trung bình xác định bạn muốn tính giá trị trung bình dọc theo trục nào

  • Nếu bạn muốn tính trung bình các cột, hãy xác định
    [[1, 2, 3], [4, 5], [6, 7, 8]]
    115
  • Nếu bạn muốn tính trung bình các hàng, hãy xác định
    [[1, 2, 3], [4, 5], [6, 7, 8]]
    116
  • Nếu bạn muốn tính trung bình trên tất cả các giá trị, hãy bỏ qua đối số này

Phương pháp 3. Thư viện thống kê trung bình + Bản đồ ()

Chỉ để cho bạn thấy một giải pháp thay thế khác, đây là một giải pháp sử dụng hàm

[[1, 2, 3], [4, 5], [6, 7, 8]]
009 và thủ thuật
[[1, 2, 3], [4, 5], [6, 7, 8]]
118 của chúng tôi để chuyển đổi “ma trận”
[[1, 2, 3], [4, 5], [6, 7, 8]]
119

lst = [[1, 2], [3, 4]]
22

Hàm

[[1, 2, 3], [4, 5], [6, 7, 8]]
120 áp dụng
[[1, 2, 3], [4, 5], [6, 7, 8]]
121 cho từng phần tử trong
[[1, 2, 3], [4, 5], [6, 7, 8]]
122

Thay vào đó, bạn cũng có thể sử dụng khả năng hiểu danh sách như trong phương pháp 1 trong hướng dẫn này

💡 Trên thực tế, Guido van Rossum, người tạo ra Python và nhà độc tài nhân từ suốt đời (BDFL) của Python, thích hiểu danh sách hơn hàm

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

Danh sách tổng của Python

Làm cách nào để tính tổng danh sách các danh sách trong Python?

Giá trị duy nhất từ ​​​​danh sách danh sách python

Xem video này trên YouTube

Vấn đề. Cho một danh sách gồm các danh sách biểu diễn một ma trận dữ liệu có n hàng và m cột. Làm thế nào để tổng hợp trên các cột của ma trận này?

Trong phần sau, bạn sẽ tìm hiểu các cách khác nhau để thực hiện điều này trong Python

Hãy đảm bảo rằng bạn đang ở trên cùng một trang. Đây là một biểu diễn đồ họa của danh sách các danh sách và những gì bạn muốn đạt được

Giá trị duy nhất từ ​​​​danh sách danh sách python

Thí dụ. Cho đoạn mã sau

lst = [[1, 2], [3, 4]]
23

Tiếp theo, bạn sẽ học ba phương pháp khác nhau để tính tổng trên các cột

Những bài viết liên quan

  • Làm cách nào để tính trung bình trên một danh sách các danh sách trong Python?

Bản sao phẳng – Danh sách danh sách Python

Trước khi bạn có thể thực sự hiểu phương thức

[[1, 2, 3], [4, 5], [6, 7, 8]]
124 trong Python, bạn phải hiểu khái niệm về “bản sao nông” hoặc “bản sao phẳng”

Trong các ngôn ngữ hướng đối tượng như Python, mọi thứ đều là đối tượng. Danh sách là đối tượng và các phần tử trong danh sách cũng là đối tượng

Một bản sao nông của danh sách tạo một đối tượng danh sách mới—bản sao—nhưng nó không tạo các phần tử danh sách mới mà chỉ sao chép các tham chiếu đến các đối tượng này

Giá trị duy nhất từ ​​​​danh sách danh sách python

Bạn có thể thấy rằng danh sách bên dưới chỉ là một bản sao nông trỏ đến các phần tử giống như danh sách gốc

Trong Python, phương thức

[[1, 2, 3], [4, 5], [6, 7, 8]]
125 chỉ tạo ra một bản sao nông có độ phức tạp thời gian chạy nhanh hơn nhiều

Đây là một ví dụ hiển thị chính xác kịch bản này

lst = [[1, 2], [3, 4]]
24

Việc thay đổi thành phần danh sách thứ ba của danh sách được sao chép sẽ tác động đến thành phần danh sách thứ ba của danh sách gốc

Do đó, đầu ra là

lst = [[1, 2], [3, 4]]
25

Bạn có thể xem trực quan hóa quá trình thực thi trực tiếp trong công cụ tuyệt vời sau đây để trực quan hóa việc sử dụng bộ nhớ của đoạn mã Python này ở mọi giai đoạn thực thi. Chỉ cần nhấp vào “Tiếp theo” để xem bộ nhớ mở ra như thế nào

Dấu. Nếu bạn sao chép một danh sách các danh sách bằng phương pháp

[[1, 2, 3], [4, 5], [6, 7, 8]]
125, hãy lưu ý rằng bất kỳ thay đổi nào bạn đang thực hiện trên một danh sách trong danh sách các danh sách đã sao chép đều hiển thị trong danh sách gốc

Nếu bạn không ổn với điều đó, hãy xem phần sau về các bản sao sâu của danh sách Python

Bản sao sâu - Danh sách danh sách Python

Đã hiểu khái niệm về bản sao nông, giờ đây thật dễ dàng để hiểu khái niệm về bản sao sâu

Đọc bài viết của tôi so với bản sao nông sâu để hiểu sâu hơn

  • Một bản sao nông chỉ sao chép các tham chiếu của các phần tử danh sách
  • Một bản sao sâu sao chép chính các phần tử danh sách, điều này có thể dẫn đến hành vi đệ quy cao vì các phần tử danh sách có thể là danh sách cần được sao chép sâu, v.v.

Đây là một bản sao sâu đơn giản của cùng một danh sách như được hiển thị trước đó

Giá trị duy nhất từ ​​​​danh sách danh sách python

Ngược lại với bản sao nông, danh sách

[[1, 2, 3], [4, 5], [6, 7, 8]]
109 được sao chép riêng cho danh sách bản sao sâu. Nếu một người thay đổi danh sách lồng nhau này trong danh sách gốc, thay đổi đó sẽ không hiển thị ở bản sao sâu. (Vì danh sách lồng nhau của deep copy list là một đối tượng độc lập trong bộ nhớ. )

Lưu ý rằng trong một bản sao sâu, không được sao chép đối tượng chuỗi. Tại sao?

Để có bản sao sâu bằng Python, hãy nhập mô-đun

[[1, 2, 3], [4, 5], [6, 7, 8]]
128 và sử dụng phương thức
[[1, 2, 3], [4, 5], [6, 7, 8]]
129

lst = [[1, 2], [3, 4]]
26

Một lần nữa, hãy hình dung luồng thực thi của đoạn mã sau ngay tại đây trong trình duyệt của bạn bằng cách nhấp vào “Tiếp theo”

Những bài viết liên quan

  • Giới thiệu về Slicing trong Python
  • Sao chép danh sách Python (Hướng dẫn đầy đủ)
  • Phương pháp liệt kê bảng gian lận
  • hướng dẫn danh sách

Làm cách nào để lọc danh sách danh sách Python?

Câu trả lời ngắn. Để lọc danh sách các danh sách cho một điều kiện trong danh sách bên trong, hãy sử dụng câu lệnh hiểu danh sách

[[1, 2, 3], [4, 5], [6, 7, 8]]
130 và thay thế
[[1, 2, 3], [4, 5], [6, 7, 8]]
131 bằng điều kiện lọc của bạn trả về
[[1, 2, 3], [4, 5], [6, 7, 8]]
050 để bao gồm danh sách bên trong
[[1, 2, 3], [4, 5], [6, 7, 8]]
006 và ngược lại là
[[1, 2, 3], [4, 5], [6, 7, 8]]
033

Làm cách nào để lọc danh sách trong Python?

Giá trị duy nhất từ ​​​​danh sách danh sách python

Xem video này trên YouTube

Danh sách thuộc về cấu trúc dữ liệu quan trọng nhất trong Python—mọi lập trình viên bậc thầy đều thuộc lòng chúng. Đáng ngạc nhiên là ngay cả những lập trình viên trung cấp cũng không biết cách tốt nhất để lọc một danh sách—chứ đừng nói đến danh sách các danh sách trong Python. Hướng dẫn này chỉ cho bạn cách thực hiện cái sau

Vấn đề. Giả sử, bạn có một danh sách các danh sách. Bạn muốn lọc danh sách các danh sách để chỉ còn lại những danh sách bên trong thỏa mãn một điều kiện nào đó. Điều kiện là một chức năng của danh sách bên trong—chẳng hạn như giá trị trung bình hoặc tổng của các phần tử danh sách bên trong

Giá trị duy nhất từ ​​​​danh sách danh sách python

Thí dụ. Đưa ra danh sách các danh sách sau đây với các phép đo nhiệt độ hàng tuần mỗi tuần—và một danh sách bên trong mỗi tuần

lst = [[1, 2], [3, 4]]
27

Làm cách nào để lọc ra các tuần lạnh hơn với giá trị nhiệt độ trung bình <8?

lst = [[1, 2], [3, 4]]
28

Có hai phương pháp ngữ nghĩa tương đương để đạt được điều này. hiểu danh sách và chức năng

[[1, 2, 3], [4, 5], [6, 7, 8]]
009. Hãy khám phá cả hai biến thể tiếp theo

lst = [[1, 2], [3, 4]]
29

Những bài viết liên quan

  • Làm cách nào để lọc danh sách danh sách Python?
  • Hiểu danh sách - Danh sách danh sách Python
  • Lọc () so với Hiểu danh sách
  • Hiểu danh sách lồng nhau
  • Hướng dẫn cơ bản về danh sách Python
  • Danh sách hiểu

Nhóm theo - Danh sách danh sách Python

Python List of Lists Group By – Hướng dẫn minh họa đơn giản [+Pandas. NhómBy ()]

Giá trị duy nhất từ ​​​​danh sách danh sách python

Xem video này trên YouTube

Hướng dẫn này chỉ cho bạn cách nhóm các danh sách bên trong của danh sách danh sách Python theo phần tử chung

Vấn đề. Đưa ra một danh sách các danh sách. Nhóm các phần tử theo phần tử chung và lưu kết quả vào từ điển (key = phần tử chung)

Giá trị duy nhất từ ​​​​danh sách danh sách python

Thí dụ. Giả sử, bạn có một cơ sở dữ liệu có nhiều hàng (danh sách các danh sách) trong đó mỗi hàng bao gồm ba thuộc tính. Tên, Tuổi và Thu nhập. Bạn muốn nhóm theo Tên và lưu trữ kết quả trong từ điển. Các khóa từ điển được cung cấp bởi thuộc tính Tên. Các giá trị từ điển là danh sách các hàng có thuộc tính Tên chính xác này

Dung dịch. Đây là dữ liệu và cách bạn có thể nhóm theo một thuộc tính chung (e. g. , Tên)

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

Bạn có thể thấy rằng kết quả là một từ điển với một khóa cho mỗi tên (

[[1, 2, 3], [4, 5], [6, 7, 8]]
136,
[[1, 2, 3], [4, 5], [6, 7, 8]]
137 và
[[1, 2, 3], [4, 5], [6, 7, 8]]
138). Alice xuất hiện trong hai hàng của cơ sở dữ liệu gốc (danh sách các danh sách). Do đó, bạn liên kết hai hàng với tên của cô ấy—chỉ duy trì các thuộc tính Tuổi và Thu nhập trên mỗi hàng

Chiến lược làm thế nào bạn thực hiện điều này là đơn giản

  • Tạo từ điển trống
  • Đi qua từng hàng trong danh sách danh sách. Giá trị đầu tiên của danh sách hàng là thuộc tính Tên
  • Thêm thuộc tính Tên
    [[1, 2, 3], [4, 5], [6, 7, 8]]
    139 vào từ điển nếu nó chưa tồn tại—đang khởi tạo từ điển vào danh sách trống. Bây giờ, bạn có thể chắc chắn rằng khóa tồn tại trong từ điển
  • Nối lát cắt danh sách phụ
    [[1, 2, 3], [4, 5], [6, 7, 8]]
    140 vào giá trị từ điển để giá trị này cũng trở thành danh sách các danh sách—một danh sách trên mỗi hàng cơ sở dữ liệu
  • Bây giờ bạn đã nhóm tất cả các mục nhập cơ sở dữ liệu theo một thuộc tính chung (=Tên)

Càng xa càng tốt. Nhưng nếu bạn muốn thực hiện một số tổng hợp trên các hàng cơ sở dữ liệu được nhóm thì sao?

Bản tóm tắt

Xin chúc mừng. Hướng dẫn chuyên sâu này đã chỉ cho bạn mọi thứ bạn cần biết để xử lý danh sách các danh sách (danh sách lồng nhau) trong Python. Điều quan trọng là phải thấy rằng danh sách Python hoạt động giống như danh sách Python với các đối tượng khác. Những người tạo ra Python đã đảm bảo rằng danh sách các danh sách tuân theo các quy tắc giống như tất cả các danh sách đối tượng khác. Điều này đúng với việc sắp xếp, sao chép, hàm tối đa hoặc cắt lát—các đối tượng danh sách bên trong chỉ có vậy. các đối tượng

Các hướng dẫn khác về Finxter

Học tập là một quá trình liên tục và bạn nên khôn ngoan để không bao giờ ngừng học hỏi và cải thiện trong suốt cuộc đời mình. 👑

Học gì?

Tôi khuyên bạn nên đọc ít nhất một hướng dẫn mỗi ngày (chỉ 5 phút cho mỗi hướng dẫn là đủ) để đảm bảo rằng bạn không ngừng học hỏi

💡 Nếu bạn muốn chắc chắn rằng mình không quên thói quen của mình, vui lòng tham gia học viện email miễn phí của chúng tôi để nhận các hướng dẫn mới hàng tuần và lời nhắc học tập trong HỘP THƯ ĐẾN của bạn

Ngoài ra, hãy lướt qua danh sách hướng dẫn sau đây và mở 3 hướng dẫn thú vị trong tab trình duyệt mới để bắt đầu thói quen học tập mới — hoặc tiếp tục với thói quen học tập hiện tại — của bạn ngay hôm nay. 🚀

Khái niệm cơ bản về Python

  • Python Một dòng cho vòng lặp
  • Nhập mô-đun từ thư mục khác
  • Xác định loại đối tượng Python
  • Chuyển đổi danh sách chuỗi thành danh sách int
  • Chuyển đổi danh sách Int thành danh sách chuỗi
  • Chuyển đổi danh sách chuỗi thành danh sách nổi
  • Chuyển đổi danh sách thành mảng NumPy
  • Nối dữ liệu vào tệp JSON
  • Danh sách bộ lọc Python
  • Danh sách lồng nhau

Quản lý phụ thuộc Python

  • Cài đặt PIP
  • Cách kiểm tra phiên bản Python của bạn
  • Kiểm tra phiên bản Pandas trong Script
  • Kiểm tra phiên bản Python Jupyter
  • Kiểm tra phiên bản gói PIP

Gỡ lỗi Python

  • Bắt và in ngoại lệ
  • Danh sách chỉ số vượt khỏi phạm vi
  • Sửa Giá trị Lỗi Sự thật
  • Không thể nhập tên X Lỗi

Nội dung thú vị

  • 5 Cheat Sheet Mỗi Python Coder cần sở hữu
  • 10 câu đố Python hay nhất để khám phá trình độ kỹ năng thực sự của bạn
  • Cách kiếm 1000 đô la từ bên lề với tư cách là một Freelancer Python

Cảm ơn bạn đã học với Finxter

Lập trình hài hước – Python

Giá trị duy nhất từ ​​​​danh sách danh sách python
“Tôi đã viết 20 chương trình ngắn bằng Python ngày hôm qua. Thật tuyệt. Perl, tôi sẽ rời xa bạn. ” — xkcd

Đi đâu từ đây?

Đủ lý thuyết. Hãy thực hành một số

Các lập trình viên được trả sáu con số trở lên vì họ có thể giải quyết vấn đề hiệu quả hơn bằng cách sử dụng trí thông minh máy móc và tự động hóa

Để trở nên thành công hơn trong việc viết mã, hãy giải quyết nhiều vấn đề thực tế hơn cho người thực. Đó là cách bạn trau dồi những kỹ năng bạn thực sự cần trong thực tế. Rốt cuộc, việc sử dụng lý thuyết học tập mà không ai cần là gì?

Bạn xây dựng các kỹ năng mã hóa có giá trị cao bằng cách làm việc trên các dự án mã hóa thực tế

Bạn có muốn ngừng học với các dự án đồ chơi và tập trung vào các dự án mã thực tế giúp bạn kiếm tiền và giải quyết các vấn đề thực sự cho mọi người không?

🚀 Nếu câu trả lời của bạn là CÓ. , cân nhắc trở thành nhà phát triển Python tự do. Đó là cách tốt nhất để tiếp cận nhiệm vụ cải thiện kỹ năng Python của bạn—ngay cả khi bạn là người hoàn toàn mới bắt đầu

Nếu bạn chỉ muốn tìm hiểu về cơ hội làm việc tự do, vui lòng xem hội thảo trên web miễn phí của tôi “Cách xây dựng kỹ năng Python có thu nhập cao của bạn” và tìm hiểu cách tôi phát triển công việc viết mã của mình trực tuyến cũng như cách bạn có thể làm được—từ sự thoải mái của bạn

Tham gia hội thảo trên web miễn phí ngay bây giờ

Giá trị duy nhất từ ​​​​danh sách danh sách python

Chris

Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính

Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners (NoStarch 2020), đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới

Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây

Hàm unique() trong Python là gì?

unique() tìm các phần tử duy nhất của một mảng và trả về các phần tử duy nhất này dưới dạng một mảng đã sắp xếp . Ngoài các yếu tố duy nhất, còn có một số đầu ra tùy chọn, như sau. Đầu ra có thể là các chỉ số của mảng đầu vào cung cấp các giá trị duy nhất.

Bạn có thể có một bộ danh sách bằng Python không?

Trong bất kỳ ngôn ngữ lập trình nào, danh sách được sử dụng để lưu trữ nhiều mục trong một biến. Trong Python, chúng ta có thể tạo danh sách bằng cách bao quanh tất cả các phần tử bằng dấu ngoặc vuông [] và mỗi phần tử được phân tách bằng dấu phẩy . Nó có thể được sử dụng để lưu trữ số nguyên, số float, chuỗi, v.v.