Kinh Nghiệm Hướng dẫn Hướng dẫn how do you add elements to a list in recursion in python? - làm cách nào để bạn thêm những phần tử vào list đệ quy trong python? Chi Tiết
Gan Feng Du đang tìm kiếm từ khóa Hướng dẫn how do you add elements to a list in recursion in python? - làm cách nào để bạn thêm những phần tử vào list đệ quy trong python? được Cập Nhật vào lúc : 2022-11-26 05:22:07 . Với phương châm chia sẻ Kinh Nghiệm Hướng dẫn trong nội dung bài viết một cách Chi Tiết Mới Nhất. Nếu sau khi đọc Post vẫn ko hiểu thì hoàn toàn có thể lại Comments ở cuối bài để Tác giả lý giải và hướng dẫn lại nha.Tôi muốn nối vào một list đệ quy nhưng tôi không thể đưa ra một hiệu suất cao hoạt động và sinh hoạt giải trí. Hàm có hai đối số times và
def replicate_recur(times, data, result=None): if result is None: # create a new result if no intermediate was given result = [] if times == 1: result.append(data) else: result.append(data) replicate_recur(times - 1, data, result) # also pass in the "result" return result 0. times nên là số lần để nối tài liệu.Đây là mã của tôi cho tới nay:
def replicate_recur(times, data): result2 = [] if times == 0: result2.append(data) else: result2.append(data) replicate_recur(times - 1, data) return result2
MSEifert
139K33 Huy hiệu vàng325 Huy hiệu bạc340 Huy hiệu đồng33 gold badges325 silver badges340 bronze badges
Đã hỏi ngày 22 tháng 2 năm 2022 lúc 9:54Feb 22, 2022 9:54
4
Bạn hoàn toàn có thể sử dụng một list trung gian để nối vào mỗi cuộc gọi đệ quy. Điều đó tránh được những vấn đề xác định lại mà bạn đang gặp phải hiện tại:
def replicate_recur(times, data, result=None): if result is None: # create a new result if no intermediate was given result = [] if times == 1: result.append(data) else: result.append(data) replicate_recur(times - 1, data, result) # also pass in the "result" return resultKhi được gọi:
>>> replicate_recur(4, 2) [2, 2, 2, 2]Đã trả lời ngày 22 tháng 2 năm 2022 lúc 10:06Feb 22, 2022 10:06
MSEifertMseifertMSeifert
139K33 Huy hiệu vàng325 Huy hiệu bạc340 Huy hiệu đồng33 gold badges325 silver badges340 bronze badges
Đã hỏi ngày 22 tháng 2 năm 2022 lúc 9:54
def replicate_recur(times, data): result2 = [] if times == 1: result2.append(data) else: result2.append(data) result2.extend(replicate_recur(times - 1, data)) return result2Bạn hoàn toàn có thể sử dụng một list trung gian để nối vào mỗi cuộc gọi đệ quy. Điều đó tránh được những vấn đề xác định lại mà bạn đang gặp phải hiện tại:
def replicate(times, data): return [data]*times
Khi được gọi:
Đã trả lời ngày 22 tháng 2 năm 2022 lúc 10:061 gold badge14 silver badges25 bronze badges
MSEifertMseifertFeb 22, 2022 10:00
Để làm cho mã của bạn hoạt động và sinh hoạt giải trí, bạn cần
def replicate_recur(times, data, result=None): if result is None: # create a new result if no intermediate was given result = [] if times == 1: result.append(data) else: result.append(data) replicate_recur(times - 1, data, result) # also pass in the "result" return result 2 list trong quá trình thực thi hiện tại với đầu ra của cuộc gọi đệ quy tiếp theo. Ngoài ra, độ sâu thấp nhất của đệ quy phải được xác định bởi def replicate_recur(times, data, result=None): if result is None: # create a new result if no intermediate was given result = [] if times == 1: result.append(data) else: result.append(data) replicate_recur(times - 1, data, result) # also pass in the "result" return result 3:Moses KoledoyeTrên một lưu ý khác, bạn hoàn toàn có thể chỉ việc sao chép list của tớ bằng:8 gold badges126 silver badges133 bronze badges
2
Adirio
def replicate(times, data): result2 = [] for i in xrange(times): result2.append(data) return result24,8901 Huy hiệu vàng14 Huy hiệu bạc25 Huy hiệu đồng
def replicate_recur(times, data, listTest=None): # If a list has not been passed as argument create an empty one if(listTest == None): listTest = [] # Return the list if we need to replicate 0 more times if times == 0: return listTest # If we reach here least we have to replicate once listTest.append(data) # Recursive call to replicate more times, if needed and return the result replicate_recur(times-1, data, listTest) return listTest
Khi được gọi:
Đã trả lời ngày 22 tháng 2 năm 2022 lúc 10:061 gold badge14 silver badges25 bronze badges
MSEifertMseifertFeb 22, 2022 9:58
3
Để làm cho mã của bạn hoạt động và sinh hoạt giải trí, bạn cần
def replicate_recur(times, data, result=None): if result is None: # create a new result if no intermediate was given result = [] if times == 1: result.append(data) else: result.append(data) replicate_recur(times - 1, data, result) # also pass in the "result" return result 2 list trong quá trình thực thi hiện tại với đầu ra của cuộc gọi đệ quy tiếp theo. Ngoài ra, độ sâu thấp nhất của đệ quy phải được xác định bởi def replicate_recur(times, data, result=None): if result is None: # create a new result if no intermediate was given result = [] if times == 1: result.append(data) else: result.append(data) replicate_recur(times - 1, data, result) # also pass in the "result" return result 3:Trên một lưu ý khác, bạn hoàn toàn có thể chỉ việc sao chép list của tớ bằng:
(result2.append(data))*timesMSEifertMseifertFeb 22, 2022 9:58
Để làm cho mã của bạn hoạt động và sinh hoạt giải trí, bạn cần
def replicate_recur(times, data, result=None): if result is None: # create a new result if no intermediate was given result = [] if times == 1: result.append(data) else: result.append(data) replicate_recur(times - 1, data, result) # also pass in the "result" return result 2 list trong quá trình thực thi hiện tại với đầu ra của cuộc gọi đệ quy tiếp theo. Ngoài ra, độ sâu thấp nhất của đệ quy phải được xác định bởi def replicate_recur(times, data, result=None): if result is None: # create a new result if no intermediate was given result = [] if times == 1: result.append(data) else: result.append(data) replicate_recur(times - 1, data, result) # also pass in the "result" return result 3:Abhishek JTrên một lưu ý khác, bạn hoàn toàn có thể chỉ việc sao chép list của tớ bằng:2 gold badges21 silver badges21 bronze badges
1
Adirio
[data] * times4,8901 Huy hiệu vàng14 Huy hiệu bạc25 Huy hiệu đồng
Đã trả lời ngày 22 tháng 2 năm 2022 lúc 10:00
Moses Koledoyemoses Koledoye4 gold badges34 silver badges52 bronze badges
76.1K8 Huy hiệu vàng126 Huy hiệu bạc133 Huy hiệu đồngFeb 22, 2022 10:04
2
Tải thêm tài liệu liên quan đến nội dung bài viết Hướng dẫn how do you add elements to a list in recursion in python? - làm cách nào để bạn thêm những phần tử vào list đệ quy trong python? programming python