Python tạo dãy số

Khả năng hiểu danh sách trong python rất hữu ích cho các tác vụ như vậy. Đây là những biểu thức rất hiệu quả mà bạn có thể sử dụng để tạo chuỗi theo cách rất ngắn gọn và hiệu quả. Ví dụ: nếu bạn muốn 100 số nguyên đầu tiên từ 0, bạn có thể sử dụng -

Thí dụ

a = [i for i in range(100)]
print(a)

đầu ra

Điều này sẽ cho đầu ra -

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,87,
88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]

Thí dụ

Muốn bình phương cho 10 số chẵn đầu tiên?

a = [i * i for i in range(20) if i % 2 == 0]
print(a)

đầu ra

Điều này sẽ cho đầu ra -

[0, 4, 16, 36, 64, 100, 144, 196, 256, 324]

Những biểu thức này có thể trở nên mạnh mẽ hơn nhiều khi bạn biết cách sử dụng chúng

Python tạo dãy số

Cập nhật ngày 05-Mar-2020 10. 09. 37

Cho hai số r1 và r2 (xác định phạm vi), viết chương trình Python để tạo danh sách với phạm vi đã cho (bao gồm).  

ví dụ

Input : r1 = -1, r2 = 1
Output : [-1, 0, 1]

Input : r1 = 5, r2 = 9
Output : [5, 6, 7, 8, 9]

Hãy thảo luận về một số cách tiếp cận để tạo danh sách các số với một phạm vi nhất định trong Python.  

Cách tiếp cận ngây thơ bằng cách sử dụng một vòng lặp

Một phương pháp ngây thơ để tạo một danh sách trong một phạm vi nhất định là trước tiên hãy tạo một danh sách trống và nối thêm số kế tiếp của mỗi số nguyên trong mỗi lần lặp của vòng lặp for.  

Python3




[-1, 0, 1]
0

[-1, 0, 1]
1

 

[-1, 0, 1]
2
[-1, 0, 1]
3

 

[-1, 0, 1]
0
[-1, 0, 1]
1

[-1, 0, 1]
0
[-1, 0, 1]
3

[-1, 0, 1]
0_______55
[-1, 0, 1]
6____57
[-1, 0, 1]
7
[-1, 0, 1]
9

[-1, 0, 1]
0
[-1, 0, 1]
1
[-1, 0, 1]
2

 

[-1, 0, 1]
0
[-1, 0, 1]
4
[-1, 0, 1]
5

 

[-1, 0, 1]
0
[-1, 0, 1]
7

[-1, 0, 1]
0
[-1, 0, 1]
9
[-1, 0, 1]
7
[-1, 0, 1]
1

 

[-1, 0, 1]
0
[-1, 0, 1]
3

[-1, 0, 1]
0
[-1, 0, 1]
5

[-1, 0, 1]
0_______57____58
[-1, 0, 1]
9
[-1, 0, 1]
0
[-1, 0, 1]
1

[-1, 0, 1]
2

[-1, 0, 1]
2____54

[-1, 0, 1]
2______52____59
[-1, 0, 1]
7
[-1, 0, 1]
0

[-1, 0, 1]
0
[-1, 0, 1]
1
[-1, 0, 1]
9

[-1, 0, 1]
0

Input : r1 = -1, r2 = 1
Output : [-1, 0, 1]

Input : r1 = 5, r2 = 9
Output : [5, 6, 7, 8, 9]
94

Input : r1 = -1, r2 = 1
Output : [-1, 0, 1]

Input : r1 = 5, r2 = 9
Output : [5, 6, 7, 8, 9]
95
[-1, 0, 1]
7
Input : r1 = -1, r2 = 1
Output : [-1, 0, 1]

Input : r1 = 5, r2 = 9
Output : [5, 6, 7, 8, 9]
97
[-1, 0, 1]
0
Input : r1 = -1, r2 = 1
Output : [-1, 0, 1]

Input : r1 = 5, r2 = 9
Output : [5, 6, 7, 8, 9]
99
[-1, 0, 1]
0

[-1, 0, 1]
01
[-1, 0, 1]
02

đầu ra

[-1, 0, 1]

Sử dụng hiểu Danh sách

Chúng tôi cũng có thể sử dụng hiểu danh sách cho mục đích. Chỉ cần lặp lại 'mục' trong vòng lặp for từ r1 đến r2 và trả về tất cả 'mục' dưới dạng danh sách. Đây sẽ là một mã lót đơn giản.  

Python3




[-1, 0, 1]
0

[-1, 0, 1]
1

 

[-1, 0, 1]
2
[-1, 0, 1]
3

[-1, 0, 1]
07
[-1, 0, 1]
1
[-1, 0, 1]
09_______910
[-1, 0, 1]
11
[-1, 0, 1]
12
[-1, 0, 1]
13
[-1, 0, 1]
14
[-1, 0, 1]
9
[-1, 0, 1]
0
[-1, 0, 1]
17

[-1, 0, 1]
07

Input : r1 = -1, r2 = 1
Output : [-1, 0, 1]

Input : r1 = 5, r2 = 9
Output : [5, 6, 7, 8, 9]
94

Input : r1 = -1, r2 = 1
Output : [-1, 0, 1]

Input : r1 = 5, r2 = 9
Output : [5, 6, 7, 8, 9]
95
[-1, 0, 1]
7
Input : r1 = -1, r2 = 1
Output : [-1, 0, 1]

Input : r1 = 5, r2 = 9
Output : [5, 6, 7, 8, 9]
97
[-1, 0, 1]
0
Input : r1 = -1, r2 = 1
Output : [-1, 0, 1]

Input : r1 = 5, r2 = 9
Output : [5, 6, 7, 8, 9]
99
[-1, 0, 1]
0

[-1, 0, 1]
01
[-1, 0, 1]
02

đầu ra

[-1, 0, 1]

Sử dụng phạm vi Python()

Python đi kèm với một hàm trực tiếp range() tạo một chuỗi số từ giá trị bắt đầu đến giá trị dừng và in từng mục trong chuỗi đó. Chúng tôi sử dụng phạm vi () với r1 và r2 rồi chuyển chuỗi thành danh sách.  

Python3




[-1, 0, 1]
0

[-1, 0, 1]
1

 

[-1, 0, 1]
2
[-1, 0, 1]
3

[-1, 0, 1]
07
[-1, 0, 1]
1
[-1, 0, 1]
34
[-1, 0, 1]
35
[-1, 0, 1]
13
[-1, 0, 1]
14
[-1, 0, 1]
9
[-1, 0, 1]
0
[-1, 0, 1]
00

[-1, 0, 1]
07

Input : r1 = -1, r2 = 1
Output : [-1, 0, 1]

Input : r1 = 5, r2 = 9
Output : [5, 6, 7, 8, 9]
94

Input : r1 = -1, r2 = 1
Output : [-1, 0, 1]

Input : r1 = 5, r2 = 9
Output : [5, 6, 7, 8, 9]
95
[-1, 0, 1]
7
Input : r1 = -1, r2 = 1
Output : [-1, 0, 1]

Input : r1 = 5, r2 = 9
Output : [5, 6, 7, 8, 9]
97
[-1, 0, 1]
0
Input : r1 = -1, r2 = 1
Output : [-1, 0, 1]

Input : r1 = 5, r2 = 9
Output : [5, 6, 7, 8, 9]
99
[-1, 0, 1]
0

[-1, 0, 1]
01
[-1, 0, 1]
02

đầu ra

[-1, 0, 1]

sử dụng numpy. sắp xếp()

Python numpy. arange() trả về một danh sách có các phần tử cách đều nhau theo khoảng thời gian. Ở đây chúng tôi đặt khoảng thời gian là 1 theo nhu cầu của chúng tôi để có được đầu ra mong muốn.  

Python3




[-1, 0, 1]
0

[-1, 0, 1]
1

[-1, 0, 1]
13
[-1, 0, 1]
14

[-1, 0, 1]
2
[-1, 0, 1]
3

[-1, 0, 1]
07
[-1, 0, 1]
1
[-1, 0, 1]
57_______558
[-1, 0, 1]
59
[-1, 0, 1]
60
[-1, 0, 1]
24
[-1, 0, 1]
10
[-1, 0, 1]
63
[-1, 0, 1]
12
[-1, 0, 1]
65

Có chức năng tuần tự trong Python không?

Trong Python, trình tự là thuật ngữ chung cho một tập hợp có thứ tự. Có một số loại trình tự trong Python , ba loại sau là quan trọng nhất. Danh sách là loại trình tự linh hoạt nhất. Các thành phần của danh sách có thể là bất kỳ đối tượng nào và danh sách có thể thay đổi - chúng có thể được thay đổi.