Làm thế nào để bạn hiển thị một danh sách theo chiều dọc trong python?
nhập 'gói. rung / vật liệu. phi tiêu'; . chìa khóa}); . tiêu đề, nhà. Giàn giáo ( appBar. AppBar( tiêu đề. const Văn bản(tiêu đề), ), nội dung. Vùng chứa (lề. const EdgeInsets. đối xứng (dọc. 20. 0), chiều cao. 200. 0, đứa trẻ. ListView( // Dòng tiếp theo này thực hiện thủ thuật. cuộnHướng. trục. ngang, trẻ em. [ Vùng chứa ( chiều rộng. 160. 0, màu. Màu sắc. đỏ, ), Vùng chứa (chiều rộng. 160. 0, màu. Màu sắc. màu xanh lam, ), Vùng chứa (chiều rộng. 160. 0, màu. Màu sắc. màu xanh lá cây, ), Vùng chứa (chiều rộng. 160. 0, màu. Màu sắc. màu vàng, ), Vùng chứa (chiều rộng. 160. 0, màu. Màu sắc. quả cam, ), ], ), ), ), );
Giả sử chúng ta có một chuỗi s. Chúng ta phải tìm tất cả các từ theo chiều dọc theo thứ tự mà chúng xuất hiện trong s. Ở đây các từ được trả về dưới dạng một danh sách các chuỗi, chúng ta phải điền dấu cách khi cần thiết. (Dấu cách không được phép). Mỗi từ sẽ chỉ được đặt trên một cột và trong một cột sẽ chỉ có một từ. Vì vậy, nếu chuỗi đầu vào là “HOW ARE YOU”, thì đầu ra sẽ là [“HAY”, “ORO”, “WEU”] Show
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
Ví dụ (Trăn)Chúng ta hãy xem triển khai sau đây để hiểu rõ hơn - Bản thử trực tiếp class Solution(object): def printVertically(self, s): s = s.split(" ") x = [] row = 0 for i in s: row = max(row, len(i)) col = len(s) ans = ["" for i in range(row)] j = 0 for i in range(col): j = 0 while j < len(s[i]): #print(j, i) while i - len(ans[j]) >= 1: ans[j] += " " ans[j] += s[i][j] j += 1 return ans ob = Solution() print(ob.printVertically("HOW ARE YOU")) print(ob.printVertically("TO BE OR NOT TO BE")) Đầu vào"HOW ARE YOU" "TO BE OR NOT TO BE" đầu ra["HAY","ORO","WEU"] ["TBONTB","OEROOE"," T"] Cấu trúc dữ liệu danh sách của Python được xây dựng để đơn giản và linh hoạt. Chúng ta sẽ xem xét cách mọi người có thể tận dụng danh sách như một công cụ thiết yếu để tự động hóa và vượt qua các nhiệm vụ tẻ nhạt Tôi sẽ trình bày một số kỹ thuật khác nhau để in danh sách bằng Python. Tôi sẽ trình bày những kiến thức cơ bản về cách in danh sách bằng cách sử dụng phương thức 3 tích hợp sẵn của Python, in danh sách bằng vòng lặp, cũng như một số thủ thuật định dạng gọn gàng chẳng hạn như in danh sách trên nhiều dòngKhông cảm thấy như đọc? Danh sách trong Python là gì?Một trong những tính năng quan trọng nhất của bất kỳ ngôn ngữ lập trình nào là khả năng định nghĩa các biến. Các biến cho phép lập trình viên lưu trữ thông tin, như số hoặc chuỗi văn bản và sử dụng lại thông tin đó một cách hiệu quả. Đây là một phần khiến máy tính trở thành công cụ tuyệt vời; Giống như các biến, danh sách Python cũng lưu trữ thông tin. Cụ thể hơn, chúng lưu trữ các chuỗi thông tin. Điều này không giống như các danh sách tương tự mà bạn có thể quen thuộc. Nếu một người muốn lưu trữ một chuỗi các việc cần làm để họ nhớ chúng suốt cả ngày, họ có thể viết một danh sách việc cần làm. Danh sách cửa hàng tạp hóa là một ví dụ khác Trong khi cấu trúc mảng và danh sách trong một số ngôn ngữ lập trình yêu cầu học cú pháp thú vị và có các quy tắc nghiêm ngặt về loại dữ liệu mà chúng có thể chứa, thì danh sách Python không có điều đó. Điều này làm cho chúng trở nên siêu đơn giản để sử dụng và không kém phần linh hoạt. Bây giờ chúng ta sẽ xem cách xác định danh sách và truy cập thông tin trong đó. Kiểm tra nó ra
Ở đây, tôi đã định nghĩa một danh sách có tên là 4 có các phần tử là chuỗi, nhưng các phần tử của danh sách cũng có thể là các số như số nguyên và số thực, các danh sách khác hoặc kết hợp các loại khác nhau. Bạn có thể nghĩ về danh sách này đại diện cho các mặt hàng trong danh sách tạp hóa và số lượng tôi muốn muaNếu tôi muốn truy cập cụ thể bất kỳ thông tin nào trong số này, tôi sẽ sử dụng một kỹ thuật gọi là lập chỉ mục danh sách. Với lập chỉ mục danh sách, người ta chỉ cần đặt số (bắt đầu bằng 0) của phần tử mà người ta muốn truy cập trong dấu ngoặc vuông sau tên của danh sách. Chẳng hạn, nếu tôi muốn in phần tử thứ nhất và thứ ba của 4, tôi sẽ sử dụng đoạn mã sau
đầu ra Hình ảnh 1 - In các phần tử danh sách riêng lẻ trong Python (hình ảnh của tác giả)Lưu ý cách tôi sử dụng các chỉ số 0 và 2 để biểu thị các phần tử thứ nhất và thứ ba vì việc lập chỉ mục Python bắt đầu bằng 0 Bây giờ, điều đó chắc chắn hữu ích, nhưng bạn có thể tự hỏi làm thế nào bất kỳ điều nào trong số này hiệu quả hơn so với làm việc với các biến thông thường. Rốt cuộc, chúng tôi phải chỉ định từng thành phần mà chúng tôi muốn in riêng lẻ trong ví dụ trên Tiếp theo, tôi sẽ chỉ cho bạn cách bạn có thể bắt đầu tận dụng một số tính năng tích hợp sẵn khác của Python để truy cập thông tin trong danh sách hiệu quả hơn nhiều In danh sách Python bằng vòng lặp ForCó lẽ một trong những cách trực quan nhất để truy cập và thao tác thông tin trong danh sách là sử dụng vòng lặp for. Điều làm cho kỹ thuật này trở nên trực quan là nó đọc ít giống lập trình hơn và giống tiếng Anh viết hơn Hãy tưởng tượng bạn muốn mô tả ý định mua các mặt hàng trong danh sách thực phẩm của mình cho một người bạn. Bạn có thể nói điều gì đó như, "Đối với mỗi mặt hàng trong danh sách thực phẩm của tôi, tôi muốn mua số lượng này". Bạn có thể viết gần như tương tự bằng Python để lặp qua danh sách Python của mình. Hãy in một số chuỗi được định dạng dựa trên nội dung của danh sách Python của chúng tôi ________số 8_______đầu ra Hình 2 - In danh sách Python trong vòng lặp for (ảnh của tác giả)Ở đây, bạn có thể thấy rằng tôi có thể lặp qua từng phần tử trong danh sách của mình mà không cần phải chỉ định từng phần tử theo cách thủ công. Hãy tưởng tượng điều này sẽ tiết kiệm được bao nhiêu công việc nếu danh sách của bạn có 50.000 phần tử thay vì chỉ ba phần tử Bạn cũng có thể lặp qua một danh sách bằng cách sử dụng vòng lặp for kết hợp với phương thức 6 tích hợp sẵn của Python
Đầu ra ở đây giống nhau, nhưng thay vì 7 đề cập đến một phần tử thực tế trong danh sách của chúng ta như đã làm trong ví dụ trước, thì giờ đây, 7 đề cập đến vị trí chỉ mục. Chúng tôi sử dụng lập chỉ mục danh sách một lần nữa để truy cập phần tử tại vị trí được chỉ định bởi 7Bây giờ chúng tôi đang nhận được ở đâu đó. Hy vọng rằng bạn có thể thấy rằng Python cung cấp một số công cụ tuyệt vời để truy cập chuỗi thông tin được lưu trữ trong danh sách. Hãy cùng xem một số cách khác để in danh sách Python Sử dụng toán tử * để in danh sách PythonMột cách khác để in tất cả nội dung của danh sách là sử dụng toán tử 0 hoặc "splat". Toán tử splat có thể được sử dụng để chuyển tất cả nội dung của danh sách cho một hàm. Chẳng hạn, phương thức Python tích hợp sẵn 3 có thể in từng phần tử của danh sách Python khi được cung cấp tên của danh sách trước toán tử splatHãy xem nó trông như thế nào trong mã
đầu ra Hình 3 - In danh sách Python bằng toán tử * (ảnh của tác giả)Nó đơn giản mà In danh sách bằng phương thức print()Nếu bạn muốn một kỹ thuật thậm chí còn dễ sử dụng hơn thế, bạn chỉ cần chuyển tên của danh sách cho chính phương thức 3. Bạn nên lưu ý rằng đầu ra sẽ hơi khác một chút trong trường hợp này. Xem nếu bạn có thể phát hiện ra sự khác biệt
đầu ra Hình 4 - In danh sách Python bằng phương thức print() (ảnh của tác giả)Đầu ra trong trường hợp này là "thô" hơn một chút. Chúng tôi vẫn có dấu ngoặc vuông xung quanh danh sách và dấu ngoặc kép xung quanh mỗi phần tử In danh sách bằng phương thức map()Tuy nhiên, một cách khác để in các phần tử của danh sách là sử dụng phương thức 3 tích hợp sẵn của Python. Phương thức này có hai đối số. một hàm để áp dụng cho từng phần tử của danh sách và danh sách. Ở đây, chúng tôi sẽ chuyển 4 làm chức năng của chúng tôi để áp dụng cho từng phần tử và chúng tôi sẽ chuyển 4 làm danh sách của chúng tôi. Ngoài ra, 3 trả về một đối tượng bản đồ, vì vậy chúng tôi phải biến kết quả thành một danh sách để các phần tử được in chính xác
đầu ra Hình 5 - In danh sách bằng phương thức map() (ảnh của tác giả)Bạn có thể bỏ qua 7 ở đầu ra. Điều này chỉ đơn giản đề cập đến thực tế là phương thức 3 không trả về bất kỳ giá trị nào. Nó chỉ inIn danh sách bằng phương thức join()Một cách thuận tiện khác để in danh sách Python là sử dụng phương thức 9. 9 là một phương thức chuỗi, nghĩa là nó phải được gọi trên một chuỗi. Chúng ta sẽ thấy điều này có nghĩa là gì trong giây lát. Với phương pháp này, bạn có thể chỉ định một dấu phân cách sẽ nằm giữa mỗi phần tử trong danh sách khi tất cả chúng được in ra. Nếu nó nghe có vẻ phức tạp, tôi chắc rằng đoạn mã sẽ làm cho nó rõ ràng
đầu ra Hình 6 - In danh sách Python bằng phương thức join() (ảnh của tác giả)Bạn có thể thấy trong mã mà chúng tôi đang sử dụng người bạn tốt của chúng tôi, phương pháp 3, để in danh sách. Điều khác biệt là chúng ta bắt đầu bằng cách chỉ định một chuỗi. Trong trường hợp này, chuỗi chỉ là khoảng trắng. Sau đó, như tôi đã đề cập trước đây, chúng tôi gọi phương thức chuỗi 9 trên chuỗi này và chúng tôi chuyển nó vào danh sách của mình. Điều này kết hợp hiệu quả từng thành phần trong danh sách của chúng tôi và kết nối chúng với một khoảng trắng. Chúng tôi in kết quả này ra và đầu ra gợi nhớ đến đầu ra của một số phương pháp trước đó mà chúng tôi đã xem xétIn danh sách trên một dòng với Dấu phân cách tùy chỉnhNhư tôi đã đề cập trong phần trước, chúng ta cũng có thể sử dụng phương pháp 9 để in danh sách của mình bằng dấu phân cách hoặc dấu phân cách tùy chỉnh. Thay đổi duy nhất chúng ta cần thực hiện đối với mã trong ví dụ trước là thay đổi chuỗi mà chúng ta gọi là 9. Chúng tôi đã sử dụng khoảng trắng trong ví dụ đầu tiên, nhưng bạn có thể sử dụng bất kỳ chuỗi nào. Ở đây, chúng ta sẽ sử dụng chuỗi 5 (chú ý khoảng trắng ở đầu và cuối)
đầu ra Hình 7 - In danh sách bằng dấu tách tùy chỉnh (hình ảnh của tác giả)Bạn có thể thấy rằng thay vì nối các thành phần danh sách của chúng tôi bằng một khoảng trắng, thay vào đó, chúng tôi nối chúng lại với nhau bằng dấu tách tùy chỉnh của chúng tôi 5. Điều này hữu ích khi bạn muốn tạo tệp CSV hoặc TSV (giá trị được phân tách bằng dấu phẩy hoặc được phân tách bằng tab). Đây là những định dạng rất phổ biến trong các ứng dụng khoa học dữ liệu. Bạn chỉ cần chỉ định 7 hoặc 8 làm chuỗi dấu phân cách của mìnhTrình độ cao. Làm cách nào để in danh sách theo chiều dọc bằng Python?Có một số trường hợp sử dụng nâng cao mà bạn có thể có một danh sách các danh sách và bạn muốn in các mục danh sách theo chiều dọc. Thật dễ dàng để thực hiện với một danh sách, nhưng không trực quan với các cấu trúc dữ liệu phức tạp hơn Kiểm tra danh sách sau - nó chứa ba danh sách, mỗi danh sách đại diện cho điểm của ba học sinh trong bài kiểm tra (tổng cộng 3 bài kiểm tra)
Để lấy điểm của sinh viên đầu tiên, chúng ta có thể truy cập các phần tử theo cú pháp sau 0Nhưng điều đó thật tẻ nhạt để viết và không thể mở rộng. Thay vào đó, chúng ta có thể sử dụng hai vòng lặp for - vòng thứ nhất lấy ba danh sách và vòng thứ hai lấy các mục danh sách riêng lẻ. Sau đó, bạn có thể gọi phương thức 3 với ký tự kết thúc tùy chỉnh. Đừng quên gọi phương thức 3 một lần nữa ở cùng mức thụt đầu dòng như vòng lặp đầu tiên - nếu không, tất cả các phần tử sẽ được in trên cùng một dòng 1đầu ra Hình 8 - In danh sách Python theo chiều dọc (ảnh của tác giả)Bạn có thể đơn giản hóa cú pháp hơn nữa bằng cách sử dụng phương thức 1 2Đầu ra giống hệt nhau, nhưng mã ngắn hơn đáng kể Phần kết luậnTôi hy vọng sau những ví dụ này, bạn sẽ hiểu rõ hơn về vô số cách mà Python cung cấp để truy cập thông tin được lưu trữ trong danh sách Python. Những kỹ thuật này cung cấp cho lập trình viên rất nhiều quyền kiểm soát đối với định dạng và với một chút bí quyết, bạn có thể nhận được kết quả đầu ra mà bạn muốn chỉ bằng một dòng mã. Python thực hiện một công việc đặc biệt là làm cho các tác vụ như thế này cực kỳ đơn giản và đôi khi dễ dàng như viết bằng tiếng Anh |