Làm thế nào để bạn tìm thấy một chữ số riêng lẻ trong python?

Khả năng hiểu danh sách cung cấp chức năng mạnh mẽ trong python để viết mã trong một dòng và đạt được kết quả mong muốn

Chúng ta đã xem qua một ví dụ mã chứng minh việc tách các số bằng vòng lặp for. Bây giờ chúng ta sẽ viết lại chương trình tương tự bằng cách sử dụng các kỹ thuật hiểu và hiểu danh sách

givenNumber = 987654321
charterList = [receivedDigit for receivedDigit in str[givenNumber]]
print[charterList]

Kết quả

['9', '8', '7', '6', '5', '4', '3', '2', '1']

Giải trình

  • Chuyển đổi số đã cho thành chuỗi dưới dạng str[givenNumber]. Tại sao?
  • Khả năng hiểu danh sách ngắt chuỗi đã cho [được chuyển đổi từ số] thành các chữ số rời rạc như được định nghĩa là gotDigit trong chương trình
  • Đã thu thập danh sách các chữ số [là danh sách các ký tự] dưới dạng CharterList và in. /li>

Bây giờ chúng tôi đã nhận được một danh sách các ký tự riêng lẻ thay vì danh sách các số riêng lẻ được mong đợi là. Chính xác?

Chỉ cần chuyển đổi ký tự thành int trong phạm vi hiểu danh sách. Đây là mã trình diễn dễ đọc

givenNumber = 987654321
charterList = [int[receivedDigit] for receivedDigit in str[givenNumber]]
print[charterList]

Ở đây int[receivedDigit] chuyển đổi từng ký tự qua phép lặp và đầu ra cuối cùng trở thành danh sách các số riêng lẻ như mong đợi như bên dưới

Trong khi lập trình, đôi khi chúng ta chỉ yêu cầu một loại dữ liệu nào đó và cần loại bỏ các loại dữ liệu khác. Loại sự cố này khá phổ biến trong miền Khoa học dữ liệu và vì Khoa học dữ liệu sử dụng Python trên toàn thế giới nên điều quan trọng là phải biết cách trích xuất các phần tử cụ thể. Bài viết này thảo luận về một số cách nhất định trong đó chỉ có thể trích xuất chữ số. Hãy cùng thảo luận

Phương pháp số 1. Sử dụng phép nối[] + isdigit[] + bộ lọc[]

Nhiệm vụ này có thể được thực hiện bằng cách sử dụng kết hợp các chức năng trên. Hàm filter lọc các chữ số được phát hiện bởi hàm isdigit và hàm nối thực hiện nhiệm vụ tái cấu trúc hàm nối.   

Python3




The original string : g1eeks4geeks5
The digits string is : 145
3

The original string : g1eeks4geeks5
The digits string is : 145
4

The original string : g1eeks4geeks5
The digits string is : 145
5

 

The original string : g1eeks4geeks5
The digits string is : 145
6

The original string : g1eeks4geeks5
The digits string is : 145
7____30
The original string : g1eeks4geeks5
The digits string is : 145
1

 

The original string : g1eeks4geeks5
The digits string is : 145
2

The original string : g1eeks4geeks5
The digits string is : 145
3______34
The original string : g1eeks4geeks5
The digits string is : 145
5
The original string : g1eeks4geeks5
The digits string is : 145
6

 

The original string : g1eeks4geeks5
The digits string is : 145
5

The original string : g1eeks4geeks5
The digits string is : 145
4

The original string : g1eeks4geeks5
The digits string is : 145
9
The original string : g1eeks4geeks5
The digits string is : 145
0
['9', '8', '7', '6', '5', '4', '3', '2', '1']
21
['9', '8', '7', '6', '5', '4', '3', '2', '1']
22
['9', '8', '7', '6', '5', '4', '3', '2', '1']
23
['9', '8', '7', '6', '5', '4', '3', '2', '1']
24
['9', '8', '7', '6', '5', '4', '3', '2', '1']
25

['9', '8', '7', '6', '5', '4', '3', '2', '1']
26

['9', '8', '7', '6', '5', '4', '3', '2', '1']
27

The original string : g1eeks4geeks5
The digits string is : 145
3______129
givenNumber = 987654321
charterList = [int[receivedDigit] for receivedDigit in str[givenNumber]]
print[charterList]
10
givenNumber = 987654321
charterList = [int[receivedDigit] for receivedDigit in str[givenNumber]]
print[charterList]
11
The original string : g1eeks4geeks5
The digits string is : 145
5
givenNumber = 987654321
charterList = [int[receivedDigit] for receivedDigit in str[givenNumber]]
print[charterList]
13
givenNumber = 987654321
charterList = [int[receivedDigit] for receivedDigit in str[givenNumber]]
print[charterList]
14

đầu ra.

The original string : g1eeks4geeks5
The digits string is : 145

 

Phương pháp #2. Sử dụng lại

Các biểu thức chính quy cũng có thể được sử dụng để thực hiện tác vụ cụ thể này. Chúng tôi có thể xác định yêu cầu loại chữ số, sử dụng “\D” và chỉ các chữ số được trích xuất từ ​​​​chuỗi.  

Python3




The original string : g1eeks4geeks5
The digits string is : 145
3

The original string : g1eeks4geeks5
The digits string is : 145
4

givenNumber = 987654321
charterList = [int[receivedDigit] for receivedDigit in str[givenNumber]]
print[charterList]
17

givenNumber = 987654321
charterList = [int[receivedDigit] for receivedDigit in str[givenNumber]]
print[charterList]
18
givenNumber = 987654321
charterList = [int[receivedDigit] for receivedDigit in str[givenNumber]]
print[charterList]
19

 

The original string : g1eeks4geeks5
The digits string is : 145
6

The original string : g1eeks4geeks5
The digits string is : 145
7____30
The original string : g1eeks4geeks5
The digits string is : 145
1

 

The original string : g1eeks4geeks5
The digits string is : 145
2

The original string : g1eeks4geeks5
The digits string is : 145
3______34
The original string : g1eeks4geeks5
The digits string is : 145
5
The original string : g1eeks4geeks5
The digits string is : 145
6

 

givenNumber = 987654321
charterList = [int[receivedDigit] for receivedDigit in str[givenNumber]]
print[charterList]
17

The original string : g1eeks4geeks5
The digits string is : 145
4

The original string : g1eeks4geeks5
The digits string is : 145
9
The original string : g1eeks4geeks5
The digits string is : 145
0
The original string : g1eeks4geeks5
The digits string is : 145
33

['9', '8', '7', '6', '5', '4', '3', '2', '1']
26

['9', '8', '7', '6', '5', '4', '3', '2', '1']
27

The original string : g1eeks4geeks5
The digits string is : 145
3______129
givenNumber = 987654321
charterList = [int[receivedDigit] for receivedDigit in str[givenNumber]]
print[charterList]
10
givenNumber = 987654321
charterList = [int[receivedDigit] for receivedDigit in str[givenNumber]]
print[charterList]
11
The original string : g1eeks4geeks5
The digits string is : 145
5
givenNumber = 987654321
charterList = [int[receivedDigit] for receivedDigit in str[givenNumber]]
print[charterList]
13
givenNumber = 987654321
charterList = [int[receivedDigit] for receivedDigit in str[givenNumber]]
print[charterList]
14

đầu ra.

The original string : g1eeks4geeks5
The digits string is : 145

 

Phương pháp 3. Sử dụng vòng lặp

Nhiệm vụ này được thực hiện bằng cách sử dụng vòng lặp for

Python3




The original string : g1eeks4geeks5
The digits string is : 145
3

The original string : g1eeks4geeks5
The digits string is : 145
4

The original string : g1eeks4geeks5
The digits string is : 145
45
The original string : g1eeks4geeks5
The digits string is : 145
0____747

The original string : g1eeks4geeks5
The digits string is : 145
48

The original string : g1eeks4geeks5
The digits string is : 145
49
The original string : g1eeks4geeks5
The digits string is : 145
50
The original string : g1eeks4geeks5
The digits string is : 145
51
The original string : g1eeks4geeks5
The digits string is : 145
52

The original string : g1eeks4geeks5
The digits string is : 145
53
The original string : g1eeks4geeks5
The digits string is : 145
54

The original string : g1eeks4geeks5
The digits string is : 145
53
The original string : g1eeks4geeks5
The digits string is : 145
56
The original string : g1eeks4geeks5
The digits string is : 145
57

['9', '8', '7', '6', '5', '4', '3', '2', '1']
26
The original string : g1eeks4geeks5
The digits string is : 145
3____760
The original string : g1eeks4geeks5
The digits string is : 145
0
The original string : g1eeks4geeks5
The digits string is : 145
62

['9', '8', '7', '6', '5', '4', '3', '2', '1']
2

Phương pháp 4. Sử dụng đệ quy

Python3




The original string : g1eeks4geeks5
The digits string is : 145
63

The original string : g1eeks4geeks5
The digits string is : 145
64

The original string : g1eeks4geeks5
The digits string is : 145
65

 

The original string : g1eeks4geeks5
The digits string is : 145
66

The original string : g1eeks4geeks5
The digits string is : 145
67
The original string : g1eeks4geeks5
The digits string is : 145
68
The original string : g1eeks4geeks5
The digits string is : 145
0
The original string : g1eeks4geeks5
The digits string is : 145
70
The original string : g1eeks4geeks5
The digits string is : 145
71

['9', '8', '7', '6', '5', '4', '3', '2', '1']
26
The original string : g1eeks4geeks5
The digits string is : 145
73

['9', '8', '7', '6', '5', '4', '3', '2', '1']
26
The original string : g1eeks4geeks5
The digits string is : 145
56
The original string : g1eeks4geeks5
The digits string is : 145
50
The original string : g1eeks4geeks5
The digits string is : 145
0
The original string : g1eeks4geeks5
The digits string is : 145
0
The original string : g1eeks4geeks5
The digits string is : 145
79
The original string : g1eeks4geeks5
The digits string is : 145
00

The original string : g1eeks4geeks5
The digits string is : 145
01
The original string : g1eeks4geeks5
The digits string is : 145
02

['9', '8', '7', '6', '5', '4', '3', '2', '1']
26
The original string : g1eeks4geeks5
The digits string is : 145
04

['9', '8', '7', '6', '5', '4', '3', '2', '1']
26
The original string : g1eeks4geeks5
The digits string is : 145
56
The original string : g1eeks4geeks5
The digits string is : 145
46
The original string : g1eeks4geeks5
The digits string is : 145
47
The original string : g1eeks4geeks5
The digits string is : 145
51
The original string : g1eeks4geeks5
The digits string is : 145
49
['9', '8', '7', '6', '5', '4', '3', '2', '1']
23
The original string : g1eeks4geeks5
The digits string is : 145
51
The original string : g1eeks4geeks5
The digits string is : 145
52
The original string : g1eeks4geeks5
The digits string is : 145
53
The original string : g1eeks4geeks5
The digits string is : 145
71

Chủ Đề