Làm tròn tất cả các số trong một danh sách trong Python #
Để làm tròn tất cả các số trong một danh sách:
- Sử dụng danh sách hiểu để lặp lại trong danh sách.
- Trên mỗi lần lặp, chuyển phần tử danh sách cho hàm
6.Copied!
my_list = [2.340000001, 3.4500001, 4.5600006] new_list = [round[item, 2] for item in my_list] print[new_list] # 👉️ [2.34, 3.45, 4.56] # ---------------------------------------------- new_list = [round[item] for item in my_list] print[new_list] # 👉️ [2, 3, 5]
- Danh sách mới sẽ chứa các số tròn.
Copied!
my_list = [2.340000001, 3.4500001, 4.5600006] # ✅ round numbers in list to 2 digits new_list = [round[item, 2] for item in my_list] print[new_list] # 👉️ [2.34, 3.45, 4.56] # ---------------------------------------------- # ✅ round numbers in list to nearest integer new_list = [round[item] for item in my_list] print[new_list] # 👉️ [2, 3, 5]
Chúng tôi đã sử dụng một danh sách hiểu để lặp lại trong danh sách.
Danh sách các hệ thống được sử dụng để thực hiện một số hoạt động cho mọi yếu tố hoặc chọn một tập hợp con của các phần tử đáp ứng một điều kiện.
Trên mỗi lần lặp, chúng tôi chuyển phần tử danh sách hiện tại cho hàm
6.Copied!
my_list = [2.340000001, 3.4500001, 4.5600006] new_list = [round[item, 2] for item in my_list] print[new_list] # 👉️ [2.34, 3.45, 4.56] # ---------------------------------------------- new_list = [round[item] for item in my_list] print[new_list] # 👉️ [2, 3, 5]
Hàm vòng lấy 2 tham số sau:
8 | con số đến vòng đến độ chính xác 9 sau thập phân |
9 | Số chữ số sau thập phân, số lượng nên có sau khi hoạt động [tùy chọn] |
Hàm Copied! Copied!
1 trả về số được làm tròn đến độ chính xác của import numpy as np
my_list = [2.340000001, 3.4500001, 4.5600006]
new_list = list[np.around[np.array[my_list], 2]]
print[new_list] # 👉️ [2.34, 3.45, 4.56]
9 sau điểm thập phân.my_list = [2.340000001, 3.4500001, 4.5600006]
new_list = [round[item, 2] for item in my_list]
print[new_list] # 👉️ [2.34, 3.45, 4.56]
# ----------------------------------------------
new_list = [round[item] for item in my_list]
print[new_list] # 👉️ [2, 3, 5]
Nếu
9 bị bỏ qua, hàm trả về số nguyên gần nhất.Copied!
my_list = [2.340000001, 3.4500001, 4.5600006] new_list = [round[item, 2] for item in my_list] print[new_list] # 👉️ [2.34, 3.45, 4.56] # ---------------------------------------------- new_list = [round[item] for item in my_list] print[new_list] # 👉️ [2, 3, 5]
Copied!
my_list = [2.340000001, 3.4500001, 4.5600006] new_list = [round[item, 2] for item in my_list] print[new_list] # 👉️ [2.34, 3.45, 4.56] # ---------------------------------------------- new_list = [round[item] for item in my_list] print[new_list] # 👉️ [2, 3, 5]
Ngoài ra, bạn có thể sử dụng mô -đun
4.Copied!
import numpy as np my_list = [2.340000001, 3.4500001, 4.5600006] new_list = list[np.around[np.array[my_list], 2]] print[new_list] # 👉️ [2.34, 3.45, 4.56]
Làm tròn tất cả các số trong danh sách bằng cách sử dụng Numpy #
Để làm tròn tất cả các số trong một danh sách:
- Sử dụng phương thức
5 để chuyển đổi danh sách thành một mảng numpy.Copied!
import numpy as np my_list = [2.340000001, 3.4500001, 4.5600006] new_list = list[np.around[np.array[my_list], 2]] print[new_list] # 👉️ [2.34, 3.45, 4.56]
- Chuyển mảng và số chữ số sang tròn sang phương thức
6.Copied!
import numpy as np my_list = [2.340000001, 3.4500001, 4.5600006] new_list = list[np.around[np.array[my_list], 2]] print[new_list] # 👉️ [2.34, 3.45, 4.56]
- Sử dụng lớp
7 để chuyển đổi mảng thành danh sách.Copied!
import numpy as np my_list = [2.340000001, 3.4500001, 4.5600006] new_list = list[np.around[np.array[my_list], 2]] print[new_list] # 👉️ [2.34, 3.45, 4.56]
Copied!
import numpy as np my_list = [2.340000001, 3.4500001, 4.5600006] new_list = list[np.around[np.array[my_list], 2]] print[new_list] # 👉️ [2.34, 3.45, 4.56]
Phương thức Numpy.Array lấy một đối tượng và tạo một mảng từ đối tượng đã cho.
Phương pháp Numpy.around có một mảng và số lượng vị trí thập phân để làm tròn và làm tròn đồng đều tất cả các yếu tố trong mảng đến số thập phân đã cho.
Đối số
8 làCopied!
import numpy as np my_list = [2.340000001, 3.4500001, 4.5600006] new_list = list[np.around[np.array[my_list], 2]] print[new_list] # 👉️ [2.34, 3.45, 4.56]
9 theo mặc định.Copied!
import numpy as np my_list = [2.340000001, 3.4500001, 4.5600006] new_list = list[np.around[np.array[my_list], 2]] print[new_list] # 👉️ [2.34, 3.45, 4.56]
Bước cuối cùng là sử dụng lớp
7 để chuyển đổi mảng numpy thành danh sách.Copied!
import numpy as np my_list = [2.340000001, 3.4500001, 4.5600006] new_list = list[np.around[np.array[my_list], 2]] print[new_list] # 👉️ [2.34, 3.45, 4.56]
Lớp danh sách có một sự lặp lại và trả về một đối tượng danh sách.
Tôi có một danh sách bao gồm các giá trị nổi nhưng chúng quá chi tiết để tiến hành. Tôi biết chúng ta có thể rút ngắn chúng bằng cách sử dụng toán tử
result = [359.70000000000005]
result = "%.2f" % result
result = [359.70]
1, như:result = [359.70000000000005]
result = "%.2f" % result
result = [359.70]
Câu hỏi của tôi là làm thế nào tôi có thể biến một danh sách các giá trị thành các phần tương đương tròn của chúng mà không cần sử dụng trình lặp. Tôi đã thử một cái gì đó, nhưng nó ném một
result = [359.70000000000005]
result = "%.2f" % result
result = [359.70]
2:list = [0.30000000000000004, 0.5, 0.20000000000000001]
list = "%.2f" % list
TypeError: not all arguments converted during string formatting
Làm thế nào tôi có thể cung cấp một danh sách sạch như:
list = [0.30, 0.5, 0.20]
Gandreadis
2.8972 Huy hiệu vàng28 Huy hiệu bạc37 Huy hiệu đồng2 gold badges28 silver badges37 bronze badges
Đã hỏi ngày 16 tháng 3 năm 2011 lúc 13:37Mar 16, 2011 at 13:37
1
result = [359.70000000000005]
result = "%.2f" % result
result = [359.70]
3 không trả lại một chiếc phao sạch. Nó trả về một chuỗi đại diện cho chiếc phao này với hai số thập phân.string representing this float with two decimals.my_list = [0.30000000000000004, 0.5, 0.20000000000000001]
my_formatted_list = [ '%.2f' % elem for elem in my_list ]
returns:
['0.30', '0.50', '0.20']
Ngoài ra, đừng gọi biến của bạn
result = [359.70000000000005]
result = "%.2f" % result
result = [359.70]
4. Đây là một từ dành riêng để tạo danh sách. Sử dụng một số tên khác, ví dụ result = [359.70000000000005]
result = "%.2f" % result
result = [359.70]
5.Nếu bạn muốn có được
result = [359.70000000000005]
result = "%.2f" % result
result = [359.70]
6 [hoặc ít nhất là những chiếc phao gần nhất có thể], bạn có thể thử điều này:my_rounded_list = [ round[elem, 2] for elem in my_list ]
returns:
[0.29999999999999999, 0.5, 0.20000000000000001]
Gandreadis
2.8972 Huy hiệu vàng28 Huy hiệu bạc37 Huy hiệu đồng2 gold badges28 silver badges37 bronze badges
Đã hỏi ngày 16 tháng 3 năm 2011 lúc 13:37Mar 16, 2011 at 13:39
result = [359.70000000000005]
result = "%.2f" % result
result = [359.70]
3 không trả lại một chiếc phao sạch. Nó trả về một chuỗi đại diện cho chiếc phao này với hai số thập phân.eumiroNgoài ra, đừng gọi biến của bạn
4. Đây là một từ dành riêng để tạo danh sách. Sử dụng một số tên khác, ví dụ result = [359.70000000000005]
result = "%.2f" % result
result = [359.70]
5.34 gold badges296 silver badges259 bronze badgesresult = [359.70000000000005]
result = "%.2f" % result
result = [359.70]
4
Nếu bạn muốn có được
result = [359.70000000000005]
result = "%.2f" % result
result = [359.70]
6 [hoặc ít nhất là những chiếc phao gần nhất có thể], bạn có thể thử điều này:0Copied!
my_list = [2.340000001, 3.4500001, 4.5600006] new_list = [round[item, 2] for item in my_list] print[new_list] # 👉️ [2.34, 3.45, 4.56] # ---------------------------------------------- new_list = [round[item] for item in my_list] print[new_list] # 👉️ [2, 3, 5]
Đã trả lời ngày 16 tháng 3 năm 2011 lúc 13:39Mar 25, 2018 at 4:37
Eumiroeumirojohn ktejik
200K34 Huy hiệu vàng296 Huy hiệu bạc259 Huy hiệu Đồng4 gold badges50 silver badges54 bronze badges
2
Nếu bạn thực sự muốn một giải pháp không có vòng lặp, bạn có thể sử dụng Numpy và chức năng tròn mảng của nó.
1Copied!
my_list = [2.340000001, 3.4500001, 4.5600006] new_list = [round[item, 2] for item in my_list] print[new_list] # 👉️ [2.34, 3.45, 4.56] # ---------------------------------------------- new_list = [round[item] for item in my_list] print[new_list] # 👉️ [2, 3, 5]
Đã trả lời ngày 25 tháng 3 năm 2018 lúc 4:37Mar 16, 2011 at 14:08
John Ktejikjohn Ktejikmartineau
5.7794 Huy hiệu vàng 50 Huy hiệu bạc54 Huy hiệu Đồng25 gold badges161 silver badges288 bronze badges
0
2Copied!
my_list = [2.340000001, 3.4500001, 4.5600006] new_list = [round[item, 2] for item in my_list] print[new_list] # 👉️ [2.34, 3.45, 4.56] # ---------------------------------------------- new_list = [round[item] for item in my_list] print[new_list] # 👉️ [2, 3, 5]
PZAEnger
10.1k3 Huy hiệu vàng39 Huy hiệu bạc45 Huy hiệu Đồng3 gold badges39 silver badges45 bronze badges
Đã trả lời ngày 21 tháng 10 năm 2018 lúc 17:42Oct 21, 2018 at 17:42
Silvia42Silvia42Silvia42
Huy hiệu bạc 9111 silver badge1 bronze badge
Bạn có thể sử dụng
result = [359.70000000000005]
result = "%.2f" % result
result = [359.70]
8 tích hợp cùng với biểu thức result = [359.70000000000005]
result = "%.2f" % result
result = [359.70]
9:3Copied!
my_list = [2.340000001, 3.4500001, 4.5600006] new_list = [round[item, 2] for item in my_list] print[new_list] # 👉️ [2.34, 3.45, 4.56] # ---------------------------------------------- new_list = [round[item] for item in my_list] print[new_list] # 👉️ [2, 3, 5]
Ngoài ra, bạn cũng có thể tạo một chức năng được đặt tên để làm tròn lên một chữ số cụ thể bằng cách sử dụng
list = [0.30000000000000004, 0.5, 0.20000000000000001]
list = "%.2f" % list
TypeError: not all arguments converted during string formatting
0 từ mô -đun FuncTools để làm việc với các chức năng bậc cao hơn:4Copied!
my_list = [2.340000001, 3.4500001, 4.5600006] new_list = [round[item, 2] for item in my_list] print[new_list] # 👉️ [2.34, 3.45, 4.56] # ---------------------------------------------- new_list = [round[item] for item in my_list] print[new_list] # 👉️ [2, 3, 5]
Đã trả lời ngày 8 tháng 9 năm 2020 lúc 18:22Sep 8, 2020 at 18:22
Jojojojojojo
9,5262 Huy hiệu vàng49 Huy hiệu bạc69 Huy hiệu đồng2 gold badges49 silver badges69 bronze badges
Một tùy chọn khác không yêu cầu Numpy là:
5Copied!
my_list = [2.340000001, 3.4500001, 4.5600006] new_list = [round[item, 2] for item in my_list] print[new_list] # 👉️ [2.34, 3.45, 4.56] # ---------------------------------------------- new_list = [round[item] for item in my_list] print[new_list] # 👉️ [2, 3, 5]
Đã trả lời ngày 16 tháng 5 năm 2018 lúc 15:55May 16, 2018 at 15:55
Cách dễ nhất:
nhập khẩu NUMPY dưới dạng NP
np.round[list,2]
Đã trả lời ngày 4 tháng 7 lúc 14:42Jul 4 at 14:42
1