Đôi khi chúng ta cần lặp lại chuỗi trong chương trình và chúng ta có thể thực hiện việc này dễ dàng bằng cách sử dụng toán tử lặp lại trong Python
Toán tử lặp lại được biểu thị bằng ký hiệu '*' và rất hữu ích để lặp lại các chuỗi có độ dài nhất định
Ví dụ
str = 'Python program'
print[str*3]
Các dòng mã trên sẽ hiển thị các đầu ra sau
Python programPython programPython program
Tương tự, cũng có thể lặp lại bất kỳ phần nào của chuỗi bằng cách cắt
Ví dụ
str = 'Python program'
print[str[7:9]*3] #Repeats the seventh and eighth character three times
prprpr
Công cụ sau đây trực quan hóa những gì máy tính đang làm từng bước khi nó thực thi chương trình nói trên
Trình chỉnh sửa mã Python
Có một cách khác để giải quyết giải pháp này?
Trước. Viết chương trình Python để tạo dấu hai chấm của bộ dữ liệu.
Tiếp theo. Viết chương trình Python để kiểm tra xem một phần tử có tồn tại trong một bộ không.
Mức độ khó của bài tập này là gì?
Dễ dàng trung bình khóKiểm tra kỹ năng Lập trình của bạn với bài kiểm tra của w3resource
con trăn. Lời khuyên trong ngày
Trình kiểm tra đảo chữ
Một cách đơn giản để tiếp cận điều này là sử dụng hàm được sắp xếp của Python. Nếu 2 từ là đảo chữ thì chúng phải giống nhau khi cả hai được sắp xếp theo thứ tự
Chúng tôi biết rằng Python là ngôn ngữ lập trình hướng đối tượng. Nó hỗ trợ các khả năng lập trình như kế thừa và đa hình. "Khả năng sử dụng lại mã" là một tính năng chính khi làm việc với các ngôn ngữ lập trình
Điều này mang lại ánh sáng cho một chủ đề khác. "Lặp mã trong Python". Chắc hẳn bạn đang thắc mắc Code Repetition trong Python là gì và dùng để làm gì?
Chà, để Lặp lại trong Python đề cập đến việc lặp lại một đoạn mã để đạt được một kết quả nhất định. Nói một cách đơn giản, nó sẽ duyệt qua một đoạn mã một số lần cụ thể. Nhưng tại sao chúng ta lại thảo luận về Lặp lại trong Python khi DRY [không lặp lại chính bạn] đang ở mức cao nhất?
Bạn sẽ sớm có câu trả lời nhưng trước tiên, hãy tìm hiểu thêm về lặp lại trong Python và cách lặp lại trong Python
Lặp lại trong Python
Như đã thảo luận ở trên, lặp lại về cơ bản là lặp đi lặp lại một đoạn mã nhiều lần để đạt được đầu ra mong muốn. Đoạn mã này có thể là bất cứ thứ gì, một số hướng dẫn, hàm số học, bộ đếm hoặc thao tác in đơn giản
Bạn sẽ ngạc nhiên khi biết rằng khái niệm Vòng lặp và Hàm ra đời vì Lặp lại trong lập trình
Chúng đã cải thiện khả năng đọc mã đồng thời giảm số lượng dòng mã. Vì vậy, bằng cách sử dụng điều này, chúng ta cũng có thể đạt được sự tối ưu hóa trong Python. Trước khi tiếp tục, chúng ta hãy xem một vài thuật ngữ chúng ta sẽ sử dụng bên dưới
- lặp đi lặp lại. Bạn có thể đã thường nghe từ này. Thuật ngữ 'lặp đi lặp lại' đồng nghĩa với 'lặp lại'. Vì vậy, 'lặp đi lặp lại' tương đương với 'lặp lại'
- n. Chú thích để mô tả số lần chúng tôi muốn lặp lại mã
Làm cách nào để lặp lại N lần trong Python?
Chúng ta hãy xem một số phương pháp để lặp lại trong lập trình python Ngoài ra, lưu ý rằng chúng ta sẽ giải quyết nhiều câu hỏi khi chúng ta đi xuống bài viết
01] Sử dụng vòng lặp
Một vòng lặp được sử dụng để thực hiện một tập lệnh hoặc một khối mã nhiều lần mà không cần phải viết lại. Khi xử lý các vòng lặp, cần phải có điều kiện để thoát ra, nếu không bạn có thể kết thúc với một vòng lặp không bao giờ kết thúc [vô hạn]
Một vòng lặp cơ bản bao gồm các thao tác sau
- Khởi tạo
- kiểm tra tình trạng
- Các phép toán tăng/giảm
- Chấp hành
Hãy xem hình ảnh bên dưới để hiểu cách thức hoạt động của một vòng lặp cơ bản
Bây giờ, bạn đã làm quen với các vòng lặp, hãy chuyển sang vòng lặp do Python cung cấp để lặp lại n lần
Sử dụng phạm vi[] với vòng lặp For
Vòng lặp for lặp lại một trình tự cho đến khi một điều kiện được đáp ứng. Nếu bạn quen thuộc với các ngôn ngữ khác, bạn cũng có thể so sánh rằng vòng lặp for do Python cung cấp giống với vòng lặp 'for-each' trong các ngôn ngữ khác hơn
Trong Python, vòng lặp for được sử dụng để lặp qua một chuỗi [như danh sách, bộ dữ liệu, từ điển, tập hợp hoặc chuỗi]. Một vòng lặp for trong Python được gọi một cách rõ ràng khi số lần lặp là cố định
Một vòng lặp for chung trong Python trông như thế này
cho [tên_biến] trong [tên_dãy]
Hãy lấy một ví dụ mô tả phép lặp qua một chuỗi trong Python
# Program: Iterate over a sequence # a sequence fruits = ["apple", "mango", "banana", "orange"] # the for loop for fruit in fruits: print[fruit] # here, the fruit is temporary variable while fruits is the list
Ở đây, 'quả' đại diện cho từng thành phần trong danh sách 'quả'
đầu ra
apple mango banana orange
Bây giờ chúng ta đã xem xét vòng lặp for trong Python, hãy chuyển sang cách vòng lặp for được sử dụng để lặp lại n lần trong Python
phạm vi[] chức năng
Python cung cấp một hàm dựng sẵn để tạo ra một chuỗi số. Hàm range[], mặc dù được sử dụng để tạo ra một dãy số, cũng được sử dụng với vòng lặp for như một câu lệnh thoát [hoặc để giữ số lần lặp lại]
cú pháp
phạm vi [ bắt đầu = 0, dừng lại, bước = 1]
Hàm phạm vi nhận ba tham số, cụ thể là bắt đầu, dừng và bước
- 'Bắt đầu' đại diện cho số để bắt đầu chuỗi với
- 'dừng' đại diện cho số để kết thúc chuỗi tại. Nó không bao giờ bao gồm số này
- 'bước' đại diện cho số để thêm [tăng] với
Ví dụ: để tạo một chuỗi như. 1, 2, 3, 4, 5 thì các tham số trong hàm range[] sẽ là
bắt đầu = 1
stop = 6 [vì phạm vi [] không bao gồm điểm dừng trong phạm vi]
bước = 1 [thêm 1 vào số trước để tạo chuỗi]
Theo mặc định, giá trị của start và step lần lượt là 0 và 1. Cần cung cấp một tham số là điểm dừng của hàm
Ví dụ
# Program: using range[] function in Python # Problem : get a sequence of natural numbers from 1 to 6 # Note that the number n is 1 more than the last digit n = 7 for i in range[n]: # n is excluded print[i, end=" "]
Tôi đã sử dụng 'kết thúc' để lấy chuỗi trong một dòng
đầu ra
0 1 2 3 4 5 6
Dãy thu được không chứa giá trị của n. Đây là một ví dụ lặp lại n lần trong Python
Sử dụng Vòng lặp While
Vòng lặp while là một cách khác để lặp lại n lần trong Python. Nó tiếp tục thực hiện cho đến khi một điều kiện nhất định được đáp ứng. Nó cũng yêu cầu một câu lệnh/điều kiện thoát để kết thúc vòng lặp
Ví dụ
________số 8
đầu ra
1 2 3 4 5 6
Lưu ý rằng chúng tôi đã thực sự mô tả cách giá trị được tính thay vì lặp lại cùng một mã n lần
02] Sử dụng Hàm
Như đã đề cập trước đó, nhu cầu lặp lại mã đã tạo ra các vòng lặp và chức năng. Các chức năng về cơ bản là một đoạn mã mà bạn có thể sử dụng lại thay vì viết chúng ra nhiều lần. Những điều này làm tăng khả năng sử dụng lại mã và khả năng đọc của mã
Một chức năng được khai báo bởi
def function_name [tham số]
{ bản tường trình }
Hãy lấy một ví dụ nhanh về cách định nghĩa một hàm trong Python và cách gọi nó trong chương trình
Python programPython programPython program0
đầu ra
Python programPython programPython program1
Mặc dù các hàm không thực sự góp phần lặp lại/lặp lại n lần trong Python, nhưng chúng là một phần của Lặp lại mã
Tất cả các phương thức trên đều do người dùng định nghĩa, bạn phải tự hỏi liệu có bất kỳ hàm dựng sẵn nào trong Python không. Hãy di chuyển đến nó
Có chức năng Lặp lại trong Python không?
Không có bất kỳ chức năng lặp lại cụ thể nào trong mô-đun nội trang của Python. Nhưng Python cung cấp các mô-đun như NumPy và pandas, có chức năng lặp lại[] của riêng chúng. Hàm repeat[] là hàm thực sự sẽ cho phép bạn lặp lại mã n lần trong python
01] Sử dụng itertools. nói lại[]
Mô-đun itertools cung cấp hàm repeat[] để thực hành lặp lại trong Python. Trong repeat[], chúng tôi cung cấp dữ liệu cũng như số lần dữ liệu sẽ được lặp lại. Tương tự với các vòng lặp, cần phải chỉ định số lượng, nếu không chức năng sẽ không bị kết thúc và sẽ kết thúc trong một vòng lặp vô thời hạn
Cú pháp cơ bản
itertools. lặp lại [giá trị, n]
Cú pháp trên có thể không mang lại kết quả gì cho bạn. Hàm repeat[] thực sự lặp lại giá trị n lần vào một danh sách, do đó, đầu ra thu được cần được lưu trữ trong một danh sách để được hiển thị. Nó hoạt động với-
in [danh sách [itertools. lặp lại [giá trị, n]]]
Hãy lấy một ví dụ để hiểu việc sử dụng itertools. lặp lại tốt hơn
Python programPython programPython program2
đầu ra
Python programPython programPython program3
Lưu ý rằng mô-đun itertools cần được nhập trước khi gọi hàm repeat[] của Python
02] Sử dụng numpy. nói lại[]
Mô-đun NumPy cung cấp hàm repeat[] 'lặp lại các phần tử của một mảng. Việc lặp lại các phần tử của một mảng có nghĩa là mỗi phần tử của mảng được lặp lại n lần và một mảng mới được tạo ra với các giá trị được lặp lại này
Do đó, với một mảng như -> array = [1, 2, 3, 4] ,
kết quả lặp mảng 1 lần sẽ là -> [1, 1, 2, 2, 3, 3, 4, 4]
Hãy nhìn vào sơ đồ dưới đây để hiểu rõ hơn
các numpy. hàm repeat[] lấy 3 tham số làm đầu vào
- mảng -> Mảng đầu vào
- n -> Số lần lặp lại được thực hiện
- trục -> Tham số này cung cấp trục dọc theo đó các phần tử được lặp lại. Theo mặc định, nó tạo ra một mảng phẳng. Nói chung, bất kỳ giá trị nào khác của trục ngoại trừ 0 đều không hoạt động đối với mảng 1-D
cú pháp
new_arr = numpy. lặp lại [mảng, n, trục]
Hãy lấy một ví dụ để hiểu về numpy. chức năng lặp lại []
apple mango banana orange0
đầu ra
apple mango banana orange1
Bây giờ, hãy thử đặt tham số axis = 1
apple mango banana orange2
đầu ra
apple mango banana orange3
Lưu ý rằng đã xảy ra lỗi khi gọi numpy. hàm repeat[] với axis=1. Bây giờ, chúng ta đã gặp lỗi trong mảng 1-D, hãy thử lặp lại[] cho mảng 2 chiều với các giá trị trục khác nhau
[i] Đối với trục = 0
Kết quả thu được sẽ như thế nào
apple mango banana orange4
đầu ra
apple mango banana orange5
[ii] Đối với trục = 1
Kết quả thu được sẽ như thế nào
apple mango banana orange6
đầu ra
apple mango banana orange7
Lưu ý sự khác biệt trong cách trình bày kết quả đầu ra, đối với cùng một mảng nhưng các giá trị trục khác nhau
Mặc dù chúng ta đã thấy ví dụ lặp lại n lần trong Python cho mảng, nhưng numpy. repeat[] cũng hoạt động trên các phần tử riêng lẻ [như số]. Hãy xem xét điều đó
apple mango banana orange8
đầu ra
apple mango banana orange9
Theo mặc định, giá trị của trục là 0. Nó sẽ trả về lỗi nếu chúng ta thay đổi trục
Bạn cũng có thể thử đặt một mảng [như [1,2]] dưới dạng lặp lại trong hàm. Ngoài ra, trong khi bạn đang ở đó, hãy thử nhập các giá trị âm cho trục. Bạn sẽ ngạc nhiên với kết quả
03] Sử dụng gấu trúc. chức năng lặp lại []
Chức năng lặp lại của gấu trúc [] trả về đầu ra theo cách tương tự như mô-đun NumPy. Ở đây, hàm repeat[] trả về một "Sê-ri" mới, trong đó mỗi phần tử của Sê-ri hiện tại được lặp lại một số lần nhất định trong một hàng. Phương pháp này yêu cầu hàm Series[] và hàm repeat[] của mô-đun pandas
Lưu ý rằng Pandas Series tương tự như cột bảng. Nó là một mảng một chiều có thể chứa bất kỳ dạng dữ liệu nào
cú pháp
Chuyển đổi sang sê-ri -> a = pandas. Sê-ri[[danh sách hoặc dữ liệu]]
Gọi lặp lại [] -> pandaSeries. lặp lại [ n, trục ]
Lưu ý rằng ở đây trục được đặt thành Không có
Hãy lấy một ví dụ để hiểu lặp lại trong Python bằng mô-đun gấu trúc
# Program: using range[] function in Python # Problem : get a sequence of natural numbers from 1 to 6 # Note that the number n is 1 more than the last digit n = 7 for i in range[n]: # n is excluded print[i, end=" "]0
đầu ra
# Program: using range[] function in Python # Problem : get a sequence of natural numbers from 1 to 6 # Note that the number n is 1 more than the last digit n = 7 for i in range[n]: # n is excluded print[i, end=" "]1
Do đó, từ các ví dụ trên, rõ ràng là có các mô-đun cung cấp hàm repeat[] để lặp lại n lần trong Python
Cho đến giờ chúng ta đã thảo luận về hàm repeat[] trong Python. Chúng ta đã thấy một số ví dụ về cách triển khai các chức năng lặp lại này trên danh sách. Bạn có biết rằng bạn có thể lặp lại một chuỗi n lần trong Python không?
Nếu bạn vẫn còn nghi ngờ, hãy giải quyết các thắc mắc của bạn với các gia sư python chuyên gia của chúng tôi
Hãy kiểm tra xem chúng ra
Thủ thuật lặp lại chuỗi n lần trong Python
Bạn đã bao giờ thử sử dụng toán tử '*' với một chuỗi chưa?
Nó đã cho bạn một lỗi, phải không?
Nhưng nếu tôi nói với bạn rằng bạn có thể sử dụng toán tử * này để lặp lại chuỗi n lần trong Python thì sao?
Vì vậy, hãy thực hiện nó
Toán tử '*' còn được gọi là toán tử lặp lại. Bạn có thể sử dụng trực tiếp toán tử giữa chuỗi cần in và n, như chuỗi *n
Ví dụ
# Program: using range[] function in Python # Problem : get a sequence of natural numbers from 1 to 6 # Note that the number n is 1 more than the last digit n = 7 for i in range[n]: # n is excluded print[i, end=" "]2
đầu ra
# Program: using range[] function in Python # Problem : get a sequence of natural numbers from 1 to 6 # Note that the number n is 1 more than the last digit n = 7 for i in range[n]: # n is excluded print[i, end=" "]3
Nó hoạt động đúng. Bây giờ nếu tôi nói với bạn rằng bạn cũng có thể lặp lại một phần cụ thể của chuỗi n lần trong Python thì sao?
Hãy cùng kiểm tra nào
# Program: using range[] function in Python # Problem : get a sequence of natural numbers from 1 to 6 # Note that the number n is 1 more than the last digit n = 7 for i in range[n]: # n is excluded print[i, end=" "]4
đầu ra
# Program: using range[] function in Python # Problem : get a sequence of natural numbers from 1 to 6 # Note that the number n is 1 more than the last digit n = 7 for i in range[n]: # n is excluded print[i, end=" "]5
Bạn chỉ cần chọn một phần của chuỗi bằng cách sử dụng Slicing và sau đó bạn có thể bắt đầu
Phần kết luận
Trong bài viết này, chúng ta đã thảo luận về cách lặp lại trong Python và cách nó tạo ra nhu cầu về vòng lặp và hàm. Hơn nữa, chúng ta đã học về các hàm repeat[] trong python, được cung cấp bởi các mô-đun như itertools, pandas và NumPy. Ngoài chúng ra, chúng ta cũng đã thấy một thủ thuật để lặp chuỗi n lần trong Python
Tôi khuyên bạn nên thực hiện các phương pháp đã thảo luận ở trên và cũng tìm hiểu thêm để so sánh và biết phương pháp nào phù hợp hơn với bạn. mã hóa hạnh phúc