Danh sách Python thay thế phần tử tại chỉ mục
Mã của bạn bắt đầu với từ trống được đặt thành một danh sách trống, nhưng sau đó nó được đặt thành một chuỗi. Chuỗi và danh sách không hoạt động theo cùng một cách Show
Các chuỗi là bất biến, vì vậy không có cú pháp nào để “thay đổi” chữ cái tại một vị trí trong chuỗi. Điều bạn có thể làm là tạo một chuỗi mới bằng cách sao chép tất cả các chữ cái trước và sau vị trí bạn muốn thay đổi
Hoặc xây dựng chuỗi một ký tự tại một thời điểm từ những gì bạn muốn. Đây là một ví dụ về việc chỉ hiển thị một số chữ cái nhất định của một chuỗi Tìm hiểu cách thay thế các mục trong danh sách Python bằng cách giải các thuật toán cơ bản để sẵn sàng cho cuộc phỏng vấn mã hóa tiếp theo của bạnCập nhật. Nhiều bạn đã liên hệ với tôi để yêu cầu các tài nguyên có giá trị cho các cuộc phỏng vấn viết mã Python. Dưới đây tôi chia sẻ 4 khóa học mà tôi thực sự khuyên bạn nên tiếp tục luyện tập sau khi thực hành các thuật toán trong bài đăng này
Hy vọng bạn cũng sẽ thấy chúng hữu ích. Bây giờ thưởng thức bài viết. D 3 khóa học về kỹ thuật dữ liệu để thăng tiến trong sự nghiệp của bạn vào năm 2021Tham gia vào ngành dữ liệu, thay đổi vai trò hoặc đơn giản là học các công nghệ tiên tiến bằng cách đăng ký vào Kỹ thuật dữ liệu…hướng tới khoa học dữ liệu. com Giới thiệuTrong khi chuẩn bị cho vòng mã hóa Python tiếp theo của mình, bạn có thể nhận thấy rằng các thuật toán yêu cầu thao tác với một hoặc nhiều danh sách xuất hiện khá thường xuyên. Sớm hay muộn, bạn cũng sẽ gặp một trong số họ trong các cuộc phỏng vấn của mình.
Nhằm giúp các bạn trong quá trình làm chủ cấu trúc dữ liệu này và nâng cao kỹ năng viết mã của mình, dưới đây mình trình bày 4 phương pháp thay thế một mục trong danh sách Python cũng như 4 thuật toán đơn giản để các bạn kiểm tra kỹ năng của mình Hầu hết các câu hỏi phỏng vấn cổ điển có thể được giải quyết bằng nhiều cách tiếp cận, vì vậy đối với mỗi vấn đề, hãy cố gắng đưa ra giải pháp của bạn trước, trước khi xem giải pháp tôi đã cung cấp. Tương tự như các kỹ năng khác, phỏng vấn thuật toán là một lĩnh vực mà bạn có thể cải thiện đáng kể nếu thực hành nhất quán 1. lập chỉ mụcCách đơn giản nhất để thay thế một mục trong danh sách là sử dụng lập chỉ mục, vì nó cho phép bạn chọn một mục hoặc phạm vi mục trong danh sách, sau đó thay đổi giá trị tại một vị trí cụ thể, sử dụng toán tử gán Ví dụ: giả sử bạn đang làm việc với danh sách sau bao gồm sáu số nguyên lst = [10, 7, 12, 56, 3, 14] và bạn được yêu cầu thêm 10 vào số nguyên thứ ba từ bên trái. Vì các danh sách được lập chỉ mục bắt đầu từ 0, nên bạn có thể sử dụng một trong các cú pháp sau để thay đổi phần tử bằng lst = [10, 7, 12, 56, 3, 14] 9 mà trong trường hợp của chúng ta là số #Option 10 #Option 1 Bây giờ hãy thử thực hành phương pháp đầu tiên này để giải bài toán sau VẤN ĐỀ #1Đưa ra một danh sách không trống bao gồm các số nguyên (từ 1 đến 9), coi nó như thể nó đại diện cho một số nguyên duy nhất không âm và tăng nó lên một. Trả về danh sách đã cập nhật Trong kết quả, các chữ số phải được lưu trữ sao cho chữ số đầu tiên của số có được bằng tổng, nằm ở đầu danh sách và mỗi phần tử trong danh sách chứa một chữ số. Bạn có thể cho rằng số nguyên không chứa bất kỳ số 0 nào đứng đầu, ngoại trừ chính số 0 Lưu ý rằng danh sách đầu vào của chúng tôi được tạo thành từ bốn số nguyên không âm cùng đại diện cho số nguyên 9999. Điều này trong trường hợp cạnh, bởi vì bằng cách thêm 1 vào số này, bạn sẽ nhận được một số nguyên có 5 chữ số (thay vì 4 ban đầu) và số 1 ở đầu Để giải quyết các loại tình huống này, giải pháp tận dụng hai câu lệnh có điều kiện bắt đầu đánh giá các chữ số từ cuối đến đầu (sử dụng #Option 11 để lật thứ tự của các chỉ mục). Nếu không bằng 9, CHỈ chữ số cuối cùng được tăng thêm 1 thông qua cú pháp quen thuộc hiện nay là #Option 12 và danh sách sửa đổi được trả về ngay lập tức mà không đánh giá các chỉ mục còn lại Ngoài ra, nếu chữ số cuối cùng là 9, thì nó được thay thế bằng 0 và chữ số tiếp theo (thứ hai đến cuối cùng) được đánh giá. Nếu giá trị này không bằng 9, thì 1 sẽ được thêm vào và danh sách đã sửa đổi được trả về. Mặt khác, nếu mỗi một trong các chữ số sau là 9, thì hàm sẽ trả về một danh sách có số 1 đứng đầu và nhiều số 0 bằng số phần tử trong danh sách ban đầu 10 MCQ để thực hành trước Databricks Apache Spark 3 của bạn. 0 Bài kiểm tra dành cho nhà phát triểnBạn nỗ lực. Bạn đã đầu tư tiền bạc và thời gian. Bây giờ, kỳ thi đã cận kề và bạn chỉ có một lần thử…Sẵn sàng để hoàn thành nó chưa?anbento4. trung bình. com Trong bài toán trên, mục tiêu chỉ là thay thế số nguyên cuối cùng trong danh sách, tăng nó lên 1, trong khi phép lặp chỉ được sử dụng để bao gồm các trường hợp cạnh. Trong trường hợp này, sử dụng vòng lặp for sẽ hoạt động tốt vì nó có thể được sử dụng để lặp qua các mục của danh sách. Để thấy nó hoạt động như thế nào, hãy quay lại danh sách ban đầu và nhân tất cả các số nguyên với 2 lst = [10, 7, 12, 56, 3, 14]for i in range(len(lst)): Ví dụ trên là cơ bản, nhưng nếu bạn được yêu cầu áp dụng logic phức tạp hơn một chút trong khi thay thế các mục trong danh sách thì sao? VẤN ĐỀ #2Xem xét một danh sách các số nguyên. Nếu số lẻ tăng lên 1, nếu số chẵn tăng lên 2 Lưu ý rằng, thay vì #Option 10, giải pháp này sử dụng phương pháp #Option 11 để lặp lại tất cả các phần tử của danh sách, kiểm tra xem các số nguyên là số lẻ hay số chẵn - thông qua toán tử modulo - và thay thế chúng bằng cách thêm 1 hoặc 2 tương ứng Liệt kê là một hàm tích hợp trong Python và có thể được sử dụng để thêm bộ đếm tự động trong khi lặp qua một đối tượng có thể lặp lại. Khi tham số #Option 12 tùy chọn không được chỉ định, bộ đếm bắt đầu từ 0, hoạt động giống như nó là một chỉ mục thực tế Vì lý do này, việc sử dụng #Option 11 để giải các thuật toán yêu cầu bạn thao tác với một danh sách dựa trên một điều kiện áp dụng cho chỉ mục hoặc (như trong trường hợp này) các giá trị danh sách là rất phổ biến.3. Liệt kê các hiểu biết Cú pháp hiểu danh sách là một phương pháp tao nhã hơn để lặp qua các phần tử của danh sách và áp dụng một số hình thức thao tác. Điều này là do khả năng hiểu cho phép bạn tạo một danh sách mới trong dòng, làm cho mã của bạn trông rất gọn gàng và sạch sẽ Bạn có thể chuyển vòng lặp for ở ví dụ trên sang dạng hiểu như sau ________số 8Để điền vào danh sách mới, bạn cũng được phép chỉ định các điều kiện cơ bản như một phần của cú pháp hiểu danh sách. Đây chính xác là những gì bạn cần làm để giải thuật toán sau VẤN ĐỀ #3Cho một danh sách các số nguyên, được sắp xếp theo thứ tự tăng dần, trả về một danh sách cũng được sắp xếp theo thứ tự tăng dần bao gồm. Trong trường hợp này, điều kiện if được chỉ định trước #Option 14 vì có sự hiện diện của câu lệnh #Option 15. Tuy nhiên, khi không yêu cầu #Option 15, bạn chỉ cần làm theo cú pháp lst = [10, 7, 12, 56, 3, 14] 24. Cắt lát & Xáo trộnĐôi khi, trong các cuộc phỏng vấn viết mã, bạn có thể được yêu cầu sắp xếp lại các mục trong danh sách để chúng xuất hiện theo một thứ tự khác. Điều này có thể đạt được thông qua cắt và xáo trộn Ví dụ: nếu bạn muốn hoán đổi 3 phần tử đầu tiên và 3 phần tử cuối cùng trong danh sách ban đầu của mình, bạn có thể viết lst = [10, 7, 12, 56, 3, 14] 3Có lẽ, trong trường hợp này, nói về một sự thay thế hơi dài dòng vì thực tế bạn chỉ đang thay đổi vị trí của các phần tử trong danh sách. Tuy nhiên, phương pháp này khá hiệu quả và có thể giúp bạn giải quyết vấn đề sau VẤN ĐỀ #4Cho danh sách các số gồm 2n phần tử có dạng [x1,x2,…,xn,y1,y2,…,yn]. Trả về mảng dạng [x1,y1,x2,y2,…,xn,yn] Bài tập cung cấp cho bạn chỉ mục để sử dụng để cắt (trong trường hợp này là #Option 17) và yêu cầu bạn xáo trộn danh sách đầu vào, bằng cách tạo các cặp số nguyên mới Các số nguyên thuộc về mỗi cặp, phải là những số chia sẻ cùng một chỉ số, nếu chúng ta cắt danh sách ban đầu thành hai danh sách con ( #Option 18 và #Option 19) Có thể dễ dàng đạt được kết quả này bằng cách sử dụng lst = [10, 7, 12, 56, 3, 14]for i in range(len(lst)):0 để ghép các phần tử có trong danh sách con lại với nhau. Phần kết luận Trong bài viết này, tôi đã hướng dẫn bạn 4 phương pháp để thay thế các mục trong danh sách Python đó là lập chỉ mục, vòng lặp for, hiểu danh sách và xáo trộn cắt lát Bản thân mỗi thao tác đều đơn giản, nhưng bạn sẽ có thể thành thạo chúng bằng cách chọn phương pháp phù hợp và hiệu quả nhất trong khi giải quyết các thử thách phức tạp hơn, để chuẩn bị cho vòng viết mã tiếp theo của bạn Vì lý do này, tôi cũng đã trình bày và chia sẻ giải pháp của 4 thuật toán (một thuật toán cho mỗi phương pháp) đại diện cho mức độ phức tạp mà bạn sẽ tìm thấy khi phỏng vấn cho các vai trò dữ liệu cấp trung và cấp cơ sở. Cũng lưu ý rằng các sự cố được trình bày trong bài đăng này là sự diễn giải lại một chút về các sự cố có sẵn trên Leetcode. Mỗi vấn đề thừa nhận nhiều giải pháp, do đó, các mỏ chỉ là những giải pháp mang tính biểu thị Lưu ý dành cho độc giả của tôiBài đăng này bao gồm các liên kết liên kết mà tôi có thể kiếm một khoản hoa hồng nhỏ mà không phải trả thêm phí cho bạn, nếu bạn mua hàng |