Cách Pythonic nhất để chuyển đổi danh sách số float fs
thành danh sách chuỗi là sử dụng một lớp lót fs = [str[x] for x in fs]
. Nó lặp lại tất cả các phần tử trong danh sách fs
bằng cách sử dụng khả năng hiểu danh sách và chuyển đổi từng phần tử danh sách
print[type[a[0]]] #1 thành một giá trị chuỗi bằng cách sử dụng hàm tạo
print[type[a[0]]] #2
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 số float thành danh sách các chuỗi
Vấn đề. Đưa ra một danh sách các float
print[type[a[0]]] #3. Làm cách nào để chuyển đổi nó thành danh sách các chuỗi
print[type[a[0]]] #4?
Phương pháp 1. Danh sách hiểu
Giả sử chúng ta có một danh sách
a = [1.1, 1.2, 1.8, 0.5, 5.9, -2.3]
Bây giờ, hãy kiểm tra loại danh sách
print[type[a[0]]] #
Hãy áp dụng hàm tích hợp sẵn
print[type[a[0]]] #5 và lấy danh sách các chuỗi bằng cách sử dụng khả năng hiểu danh sách
print[[str[a] for a in a]] # ['1.1', '1.2', '1.8', '0.5', '5.9', '-2.3']
💡 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]]] #6. Sự diễn đạt. 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
A = [str[a] for a in a] print[type[A[0]]] #
Hàm tích hợp
print[type[a[0]]] #9 chuyển đổi một số float thành một chuỗi biểu diễn số float đó. Do đó, nó giúp chúng ta tạo một danh sách chuỗi mới từ danh sách float trong một dòng mã
🌍 Hướng dẫn đề xuất. Làm cách nào để chuyển đổi số float thành chuỗi trong Python?
Phương pháp 2. Chức năng bản đồ
Chức năng tích hợp sẵn
print[[str[a] for a in a]] # ['1.1', '1.2', '1.8', '0.5', '5.9', '-2.3']0 được tối ưu hóa tốt và hiệu quả; . Do đó, một phần tử được lưu trữ và xử lý trong bộ nhớ tại một thời điểm, vì vậy chương trình không cần lưu trữ toàn bộ danh sách các phần tử trong bộ nhớ
Áp dụng cho cùng một danh sách
print[[str[a] for a in a]] # ['1.1', '1.2', '1.8', '0.5', '5.9', '-2.3']1 mã sau đây
a = [1.1, 1.2, 1.8, 0.5, 5.9, -2.3] print[list[map[str, a]]] # ['1.1', '1.2', '1.8', '0.5', '5.9', '-2.3']
Hàm
print[[str[a] for a in a]] # ['1.1', '1.2', '1.8', '0.5', '5.9', '-2.3']2 trả về một đối tượng
print[[str[a] for a in a]] # ['1.1', '1.2', '1.8', '0.5', '5.9', '-2.3']3 có thể lặp lại mà chúng ta cần chuyển đổi thành danh sách bằng cách sử dụng hàm tạo
print[[str[a] for a in a]] # ['1.1', '1.2', '1.8', '0.5', '5.9', '-2.3']4 tích hợp
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 số float thành danh sách chuỗi 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]
a = [1.1, 1.2, 1.8, 0.5, 5.9, -2.3] strings = [] for element in a: strings.append[str[element]] print[strings] # ['1.1', '1.2', '1.8', '0.5', '5.9', '-2.3']
Phương pháp cơ bản này để chuyển đổi danh sách số float thành danh sách chuỗi sử dụng ba bước
- Tạo một danh sách trống với
print[[str[a] for a in a]] # ['1.1', '1.2', '1.8', '0.5', '5.9', '-2.3']
5 - Lặp lại từng phần tử float bằng cách sử dụng vòng lặp
print[[str[a] for a in a]] # ['1.1', '1.2', '1.8', '0.5', '5.9', '-2.3']
6 chẳng hạn nhưprint[[str[a] for a in a]] # ['1.1', '1.2', '1.8', '0.5', '5.9', '-2.3']
7 - Chuyển đổi float thành chuỗi bằng cách sử dụng
print[[str[a] for a in a]] # ['1.1', '1.2', '1.8', '0.5', '5.9', '-2.3']
8 và nối nó vào danh sách chuỗi mới bằng phương thứcprint[[str[a] for a in a]] # ['1.1', '1.2', '1.8', '0.5', '5.9', '-2.3']
9
Phương pháp 4. Định dạng chuỗi cho chuyển đổi chuỗi tùy chỉnh
Ví dụ: nếu điều này là không đủ đối với bạn, bạn cần một định dạng cụ thể của các chuỗi được chuyển đổi, chẳng hạn như chỉ có hai chữ số sau dấu thập phân, bạn nên xem qua các khả năng định dạng chuỗi mạnh mẽ của Python
Ví dụ: để chuyển đổi danh sách số float có nhiều chữ số thành danh sách chuỗi chỉ có hai chữ số, hãy sử dụng phương thức
A = [str[a] for a in a] print[type[A[0]]] #0
a = [1.11111, 1.200023402, 1.844333, -0.5000001] strings = ['{:.2f}'.format[x] for x in a] print[strings] # ['1.11', '1.20', '1.84', '-0.50']
💡 Hàm
A = [str[a] for a in a] print[type[A[0]]] #1 tích hợp sẵn của Python chuyển đổi đầu vào của một định dạng thành đầu ra của một định dạng khác do bạn xác định. Cụ thể, nó áp dụng công cụ xác định định dạng
A = [str[a] for a in a] print[type[A[0]]] #2 cho đối số
A = [str[a] for a in a] print[type[A[0]]] #3 và trả về một biểu diễn được định dạng của
A = [str[a] for a in a] print[type[A[0]]] #3. Ví dụ:
A = [str[a] for a in a] print[type[A[0]]] #5 trả về biểu diễn chuỗi
A = [str[a] for a in a] print[type[A[0]]] #6
Bạn có thể xem tôi giới thiệu các khả năng định dạng trong hướng dẫn ngắn này
Hàm định dạng Python[]. Hướng dẫn không có BS bằng ví dụ
Xem video này trên YouTube
Phương pháp thưởng 5. chuỗi f
Có thể truy cập một cách ngắn gọn hơn để sử dụng chức năng định dạng của Python thông qua chuỗi f trong Python 3 trở lên. Chuyển đổi danh sách float thành danh sách chuỗi bằng cách sử dụng khả năng hiểu danh sách và biểu thức chuyển đổi float thành chuỗi
A = [str[a] for a in a] print[type[A[0]]] #7 trên mỗi phần tử danh sách
print[type[a[0]]] #1
Đây là một ví dụ
a = [1.11111, 1.200023402, 1.844333, -0.5000001] strings = [f'{x:.2f}' for x in a] print[strings] # ['1.11', '1.20', '1.84', '-0.50']
Lưu ý rằng bạn có thể tăng hoặc giảm số chữ số bằng cách đặt định dạng định dạng tương ứng
A = [str[a] for a in a] print[type[A[0]]] #
7 mang lại hai chữ số chẳng hạn nhưa = [1.1, 1.2, 1.8, 0.5, 5.9, -2.3] print[list[map[str, a]]] # ['1.1', '1.2', '1.8', '0.5', '5.9', '-2.3']
0a = [1.1, 1.2, 1.8, 0.5, 5.9, -2.3] print[list[map[str, a]]] # ['1.1', '1.2', '1.8', '0.5', '5.9', '-2.3']
1 mang lại hai chữ số, chẳng hạn nhưa = [1.1, 1.2, 1.8, 0.5, 5.9, -2.3] print[list[map[str, a]]] # ['1.1', '1.2', '1.8', '0.5', '5.9', '-2.3']
2a = [1.1, 1.2, 1.8, 0.5, 5.9, -2.3] print[list[map[str, a]]] # ['1.1', '1.2', '1.8', '0.5', '5.9', '-2.3']
3 mang lại hai chữ số, chẳng hạn nhưa = [1.1, 1.2, 1.8, 0.5, 5.9, -2.3] print[list[map[str, a]]] # ['1.1', '1.2', '1.8', '0.5', '5.9', '-2.3']
4
Để 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. 🙂
lập trình viên
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 xem 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
Chris
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