Không cần phải nhập bất cứ thứ gì hoặc đánh giá. Bạn có thể làm điều này trong một dòng cho hầu hết các trường hợp sử dụng cơ bản, bao gồm cả trường hợp được đưa ra trong câu hỏi ban đầu
Lót
l_x = [i.strip[] for i in x[1:-1].replace['"',""].split[',']]
Giải trình
x = '[ "A","B","C" , " D"]'
# String indexing to eliminate the brackets.
# Replace, as split will otherwise retain the quotes in the returned list
# Split to convert to a list
l_x = x[1:-1].replace['"',""].split[',']
đầu ra
for i in range[0, len[l_x]]:
print[l_x[i]]
# vvvv output vvvvv
'''
A
B
C
D
'''
print[type[l_x]] # out: class 'list'
print[len[l_x]] # out: 4
Bạn có thể phân tích cú pháp và dọn sạch danh sách này khi cần bằng cách sử dụng tính năng hiểu danh sách
l_x = [i.strip[] for i in l_x] # list comprehension to clean up
for i in range[0, len[l_x]]:
print[l_x[i]]
# vvvvv output vvvvv
'''
A
B
C
D
'''
Danh sách lồng nhau
Nếu bạn có danh sách lồng nhau, nó sẽ khó chịu hơn một chút. Không sử dụng regex [điều này sẽ đơn giản hóa việc thay thế] và giả sử bạn muốn trả về một danh sách phẳng [và zen của python nói phẳng tốt hơn lồng nhau]
x = '[ "A","B","C" , " D", ["E","F","G"]]'
l_x = x[1:-1].split[',']
l_x = [i
.replace[']', '']
.replace['[', '']
.replace['"', '']
.strip[] for i in l_x
]
# returns ['A', 'B', 'C', 'D', 'E', 'F', 'G']
Nếu bạn cần giữ lại danh sách lồng nhau, nó sẽ xấu hơn một chút, nhưng vẫn có thể thực hiện được chỉ với biểu thức chính quy và khả năng hiểu danh sách
Cách Pythonic nhất để chuyển đổi danh sách chuỗi thành danh sách số nguyên là sử dụng cách hiểu danh sách
x = '[ "A","B","C" , " D", ["E","F","G"]]'
l_x = x[1:-1].split[',']
l_x = [i
.replace[']', '']
.replace['[', '']
.replace['"', '']
.strip[] for i in l_x
]
# returns ['A', 'B', 'C', 'D', 'E', 'F', 'G']
7. Nó lặp lại trên tất cả các phần tử trong danh sách và chuyển đổi từng phần tử danh sách print[type[a[0]]] #0 thành một giá trị số nguyên bằng cách sử dụng hàm tích hợp sẵn
print[type[a[0]]] #1
Bài viết này chỉ cho bạn những cách đơn giản nhất để chuyển đổi danh sách một chiều chỉ bao gồm các chuỗi thành danh sách các số nguyên
Vấn đề. Đưa ra một danh sách các chuỗi
print[type[a[0]]] #2. Làm cách nào để chuyển đổi nó thành danh sách ints
print[type[a[0]]] #3?
- Biến thể vấn đề. Đưa ra một danh sách các chuỗi có biểu diễn hỗn hợp
print[type[a[0]]] #
4. Làm cách nào để chuyển đổi nó thành danh sách intsprint[type[a[0]]] #
3?
Trước tiên, chúng ta sẽ đi sâu vào vấn đề cơ bản dễ hơn và kiểm tra biến thể của vấn đề trong Phương pháp 5
Phương pháp 1. Danh sách hiểu
Giả sử chúng ta có một danh sách
x = '[ "A","B","C" , " D"]'
# String indexing to eliminate the brackets.
# Replace, as split will otherwise retain the quotes in the returned list
# Split to convert to a list
l_x = x[1:-1].replace['"',""].split[',']
1Bây giờ, hãy kiểm tra loại phần tử danh sách đầu tiên
print[type[a[0]]] #
Hãy áp dụng hàm tích hợp sẵn
print[type[a[0]]] #6 và nhận danh sách các số nguyên bằng cách sử dụng khả năng hiểu danh sách
x = '[ "A","B","C" , " D"]'
# String indexing to eliminate the brackets.
# Replace, as split will otherwise retain the quotes in the returned list
# Split to convert to a list
l_x = x[1:-1].replace['"',""].split[',']
4💡 Hiểu danh sách là một cách nhỏ gọn để tạo danh sách. Công thức đơn giản là
print[type[a[0]]] #7. Biểu hiện. Phải làm gì với từng phần tử danh sách? . Những yếu tố để lựa chọn?
Bạn có thể xem tôi giải thích cách hiểu danh sách trong video này
Giới thiệu đơn giản về hiểu danh sách trong Python
Xem video này trên YouTube
Kiểm tra loại số trong danh sách mới
x = '[ "A","B","C" , " D"]'
# String indexing to eliminate the brackets.
# Replace, as split will otherwise retain the quotes in the returned list
# Split to convert to a list
l_x = x[1:-1].replace['"',""].split[',']
8Hàm tích hợp
x = '[ "A","B","C" , " D"]'
# String indexing to eliminate the brackets.
# Replace, as split will otherwise retain the quotes in the returned list
# Split to convert to a list
l_x = x[1:-1].replace['"',""].split[',']
40 chuyển đổi một chuỗi thành một số nguyên. Do đó, nó giúp chúng ta tạo một danh sách int mới từ danh sách các chuỗi trong một dòng mãPhương pháp 2. Chức năng bản đồ
Hàm tích hợp sẵn
x = '[ "A","B","C" , " D"]'
# String indexing to eliminate the brackets.
# Replace, as split will otherwise retain the quotes in the returned list
# Split to convert to a list
l_x = x[1:-1].replace['"',""].split[',']
41 được tối ưu hóa tốt và hiệu quả, khi được gọi, các phần tử của danh sách sẽ được truy xuất khi truy cập. Do đó, một phần tử được lưu trữ và xử lý trong bộ nhớ, điều này cho phép chương trình không lưu trữ toàn bộ danh sách các phần tử trong bộ nhớ hệ thốngÁp dụng cho cùng một danh sách
x = '[ "A","B","C" , " D"]'
# String indexing to eliminate the brackets.
# Replace, as split will otherwise retain the quotes in the returned list
# Split to convert to a list
l_x = x[1:-1].replace['"',""].split[',']
42 mã sau đâyfor i in range[0, len[l_x]]:
print[l_x[i]]
# vvvv output vvvvv
'''
A
B
C
D
'''
print[type[l_x]] # out: class 'list'
print[len[l_x]] # out: 4
2💡 Hàm
x = '[ "A","B","C" , " D"]'
# String indexing to eliminate the brackets.
# Replace, as split will otherwise retain the quotes in the returned list
# Split to convert to a list
l_x = x[1:-1].replace['"',""].split[',']
43 áp dụng đối số đầu tiên, một hàm, cho từng phần tử trong một lần lặp. Nó biến đổi từng phần tử trong iterable ban đầu thành một phần tử mới và trả về một đối tượng x = '[ "A","B","C" , " D"]'
# String indexing to eliminate the brackets.
# Replace, as split will otherwise retain the quotes in the returned list
# Split to convert to a list
l_x = x[1:-1].replace['"',""].split[',']
44 iterable mới của các giá trị được chuyển đổi. Để có được một danh sách, bạn cần chuyển đổi nó bằng cách sử dụng hàm tạo x = '[ "A","B","C" , " D"]'
# String indexing to eliminate the brackets.
# Replace, as split will otherwise retain the quotes in the returned list
# Split to convert to a list
l_x = x[1:-1].replace['"',""].split[',']
45 tích hợpBạn có thể xem video giải thích của tôi về chức năng bản đồ tại đây
Làm chủ chức năng bản đồ Python [+Video]
Xem video này trên YouTube
Phương pháp 3. cho vòng lặp
Tất nhiên, bạn cũng có thể chuyển đổi danh sách chuỗi thành danh sách số nguyên bằng cách sử dụng vòng lặp for đơn giản. Đây là điều mà hầu hết mọi người đến từ một ngôn ngữ lập trình như Java và C++ sẽ làm vì họ chưa biết cách Pythonic nhất để sử dụng khả năng hiểu danh sách [xem Phương pháp 1]
for i in range[0, len[l_x]]:
print[l_x[i]]
# vvvv output vvvvv
'''
A
B
C
D
'''
print[type[l_x]] # out: class 'list'
print[len[l_x]] # out: 4
6Phương pháp cơ bản này để chuyển đổi danh sách chuỗi thành danh sách số nguyên sử dụng ba bước
- Tạo một danh sách trống với
46x = '[ "A","B","C" , " D"]' # String indexing to eliminate the brackets. # Replace, as split will otherwise retain the quotes in the returned list # Split to convert to a list l_x = x[1:-1].replace['"',""].split[',']
- Lặp lại từng phần tử chuỗi bằng cách sử dụng vòng lặp
47, chẳng hạn nhưx = '[ "A","B","C" , " D"]' # String indexing to eliminate the brackets. # Replace, as split will otherwise retain the quotes in the returned list # Split to convert to a list l_x = x[1:-1].replace['"',""].split[',']
48x = '[ "A","B","C" , " D"]' # String indexing to eliminate the brackets. # Replace, as split will otherwise retain the quotes in the returned list # Split to convert to a list l_x = x[1:-1].replace['"',""].split[',']
- Chuyển đổi chuỗi thành số nguyên bằng cách sử dụng
49 và nối chuỗi đó vào danh sách số nguyên mới bằng phương thứcx = '[ "A","B","C" , " D"]' # String indexing to eliminate the brackets. # Replace, as split will otherwise retain the quotes in the returned list # Split to convert to a list l_x = x[1:-1].replace['"',""].split[',']
80x = '[ "A","B","C" , " D"]' # String indexing to eliminate the brackets. # Replace, as split will otherwise retain the quotes in the returned list # Split to convert to a list l_x = x[1:-1].replace['"',""].split[',']
Phương pháp 4. Danh sách hiểu + eval[]
Bạn cũng có thể sử dụng hàm
x = '[ "A","B","C" , " D"]'
# String indexing to eliminate the brackets.
# Replace, as split will otherwise retain the quotes in the returned list
# Split to convert to a list
l_x = x[1:-1].replace['"',""].split[',']
81 trong phần hiểu danh sách để chuyển đổi danh sách chuỗi thành danh sách số nguyênl_x = [i.strip[] for i in l_x] # list comprehension to clean up
for i in range[0, len[l_x]]:
print[l_x[i]]
# vvvvv output vvvvv
'''
A
B
C
D
'''
3💡 Hàm
x = '[ "A","B","C" , " D"]'
# String indexing to eliminate the brackets.
# Replace, as split will otherwise retain the quotes in the returned list
# Split to convert to a list
l_x = x[1:-1].replace['"',""].split[',']
82 tích hợp của Python phân tích đối số chuỗi x = '[ "A","B","C" , " D"]'
# String indexing to eliminate the brackets.
# Replace, as split will otherwise retain the quotes in the returned list
# Split to convert to a list
l_x = x[1:-1].replace['"',""].split[',']
83 thành một biểu thức Python, chạy nó và trả về kết quả của biểu thức. Nếu “biểu thức” là một biểu diễn số nguyên đơn giản, Python sẽ chuyển đổi đối số x = '[ "A","B","C" , " D"]'
# String indexing to eliminate the brackets.
# Replace, as split will otherwise retain the quotes in the returned list
# Split to convert to a list
l_x = x[1:-1].replace['"',""].split[',']
83 thành một số nguyênBạn có thể xem tôi giới thiệu chi tiết về hàm
x = '[ "A","B","C" , " D"]'
# String indexing to eliminate the brackets.
# Replace, as split will otherwise retain the quotes in the returned list
# Split to convert to a list
l_x = x[1:-1].replace['"',""].split[',']
81 trong hướng dẫn ngắn nàyPython eval[] – Cách đánh giá động một biểu thức mã trong Python
Xem video này trên YouTube
Phương pháp 5. Biểu diễn chuỗi hỗn hợp với làm tròn
💬 Vấn đề biến thể. Đưa ra một danh sách các chuỗi có biểu diễn hỗn hợp
x = '[ "A","B","C" , " D"]'
# String indexing to eliminate the brackets.
# Replace, as split will otherwise retain the quotes in the returned list
# Split to convert to a list
l_x = x[1:-1].replace['"',""].split[',']
86. Làm cách nào để chuyển đổi nó thành danh sách ints x = '[ "A","B","C" , " D"]'
# String indexing to eliminate the brackets.
# Replace, as split will otherwise retain the quotes in the returned list
# Split to convert to a list
l_x = x[1:-1].replace['"',""].split[',']
87?Thách thức là trước tiên chuyển đổi từng chuỗi thành số float và chỉ sau đó chuyển đổi nó thành số nguyên
Hai bước này là không thể thiếu và không thể bỏ qua bước nào vì bạn cần số float để có thể biểu thị bất kỳ số nào
Nhưng bạn cũng cần số nguyên, vì đây là mục tiêu bạn đặt ra để thực hiện. chuyển đổi danh sách chuỗi thành danh sách int
❗ Chuyển đổi danh sách các biểu diễn chuỗi hỗn hợp thành danh sách các số nguyên được làm tròn bằng cách xâu chuỗi các hàm có sẵn
x = '[ "A","B","C" , " D"]'
# String indexing to eliminate the brackets.
# Replace, as split will otherwise retain the quotes in the returned list
# Split to convert to a list
l_x = x[1:-1].replace['"',""].split[',']
88 và x = '[ "A","B","C" , " D"]'
# String indexing to eliminate the brackets.
# Replace, as split will otherwise retain the quotes in the returned list
# Split to convert to a list
l_x = x[1:-1].replace['"',""].split[',']
89 trong biểu thức hiểu danh sách for i in range[0, len[l_x]]:
print[l_x[i]]
# vvvv output vvvvv
'''
A
B
C
D
'''
print[type[l_x]] # out: class 'list'
print[len[l_x]] # out: 4
20, giả sử rằng danh sách biểu diễn chuỗi hỗn hợp được lưu trữ trong biến x = '[ "A","B","C" , " D"]'
# String indexing to eliminate the brackets.
# Replace, as split will otherwise retain the quotes in the returned list
# Split to convert to a list
l_x = x[1:-1].replace['"',""].split[',']
42x = '[ "A","B","C" , " D", ["E","F","G"]]'
l_x = x[1:-1].split[',']
l_x = [i
.replace[']', '']
.replace['[', '']
.replace['"', '']
.strip[] for i in l_x
]
# returns ['A', 'B', 'C', 'D', 'E', 'F', 'G']
4Bạn có thể tìm hiểu mọi thứ về hàm
for i in range[0, len[l_x]]:
print[l_x[i]]
# vvvv output vvvvv
'''
A
B
C
D
'''
print[type[l_x]] # out: class 'list'
print[len[l_x]] # out: 4
22 trong video sauPython round[] — Hướng dẫn tương tác hữu ích
Xem video này trên YouTube
Để nâng cao kỹ năng Python của bạn một cách dễ dàng, vui lòng tham gia học viện email miễn phí của tôi với nhiều nội dung miễn phí và cheat sheet—nếu bạn chưa tham gia. 🙂
Nếu bạn muốn học toàn diện về Python trong khi vẫn được trả tiền trong quá trình này, hãy tham khảo khóa học dành cho người làm việc tự do về Python của tôi—chương trình đào tạo dành cho nhà phát triển tự do số một trên thế giới
lập trình viên
x = '[ "A","B","C" , " D", ["E","F","G"]]'
l_x = x[1:-1].split[',']
l_x = [i
.replace[']', '']
.replace['[', '']
.replace['"', '']
.strip[] for i in l_x
]
# returns ['A', 'B', 'C', 'D', 'E', 'F', 'G']
6Chris
Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính
Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners [NoStarch 2020], đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới
Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây