Hướng dẫn how do you round a value in a list python? - làm thế nào để bạn làm tròn một giá trị trong một python 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ử

list = [0.30000000000000004, 0.5, 0.20000000000000001]
list = "%.2f" % list
TypeError: not all arguments converted during string formatting
3, 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

list = [0.30000000000000004, 0.5, 0.20000000000000001]
list = "%.2f" % list
TypeError: not all arguments converted during string formatting
4:

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]

Hướng dẫn how do you round a value in a list python? - làm thế nào để bạn làm tròn một giá trị trong một python danh sách?

Gandreadis

2.8872 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

Hướng dẫn how do you round a value in a list python? - làm thế nào để bạn làm tròn một giá trị trong một python danh sách?

1

list = [0.30000000000000004, 0.5, 0.20000000000000001]
list = "%.2f" % list
TypeError: not all arguments converted during string formatting
5 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

list = [0.30000000000000004, 0.5, 0.20000000000000001]
list = "%.2f" % list
TypeError: not all arguments converted during string formatting
6. Đâ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ụ
list = [0.30000000000000004, 0.5, 0.20000000000000001]
list = "%.2f" % list
TypeError: not all arguments converted during string formatting
7.

Nếu bạn muốn có được

list = [0.30000000000000004, 0.5, 0.20000000000000001]
list = "%.2f" % list
TypeError: not all arguments converted during string formatting
8 (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]

Hướng dẫn how do you round a value in a list python? - làm thế nào để bạn làm tròn một giá trị trong một python danh sách?

Gandreadis

2.8872 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

list = [0.30000000000000004, 0.5, 0.20000000000000001]
list = "%.2f" % list
TypeError: not all arguments converted during string formatting
5 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.eumiro

Ngoài ra, đừng gọi biến của bạn

list = [0.30000000000000004, 0.5, 0.20000000000000001]
list = "%.2f" % list
TypeError: not all arguments converted during string formatting
6. Đâ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ụ
list = [0.30000000000000004, 0.5, 0.20000000000000001]
list = "%.2f" % list
TypeError: not all arguments converted during string formatting
7.34 gold badges294 silver badges259 bronze badges

4

Nếu bạn muốn có được

list = [0.30000000000000004, 0.5, 0.20000000000000001]
list = "%.2f" % list
TypeError: not all arguments converted during string formatting
8 (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:

import numpy as np
myList = list(np.around(np.array(myList),2))

Đã trả lời ngày 16 tháng 3 năm 2011 lúc 13:39Mar 25, 2018 at 4:37

Hướng dẫn how do you round a value in a list python? - làm thế nào để bạn làm tròn một giá trị trong một python danh sách?

Eumiroeumirojohn ktejik

199K34 Huy hiệu vàng294 Huy hiệu bạc259 Huy hiệu Đồng4 gold badges49 silver badges53 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ó.

>>> from decimal import *
>>> mylist = [0.30000000000000004, 0.5, 0.20000000000000001]
>>> getcontext().prec = 2
>>> ["%.2f" % e for e in mylist]
['0.30', '0.50', '0.20']
>>> [Decimal("%.2f" % e) for e in mylist]
[Decimal('0.30'), Decimal('0.50'), Decimal('0.20')]
>>> data = [float(Decimal("%.2f" % e)) for e in mylist]
>>> data
[0.3, 0.5, 0.2]

Đã trả lời ngày 25 tháng 3 năm 2018 lúc 4:37Mar 16, 2011 at 14:08

Hướng dẫn how do you round a value in a list python? - làm thế nào để bạn làm tròn một giá trị trong một python danh sách?

John Ktejikjohn Ktejikmartineau

5.7514 Huy hiệu vàng49 Huy hiệu bạc53 Huy hiệu Đồng25 gold badges160 silver badges285 bronze badges

0

mylist = [0.30000000000000004, 0.5, 0.20000000000000001]
myRoundedList =  [round(x,2) for x in mylist] 
# [0.3, 0.5, 0.2]

Bạn có thể muốn xem mô -đun

list = [0.30000000000000004, 0.5, 0.20000000000000001]
list = "%.2f" % list
TypeError: not all arguments converted during string formatting
9 của Python, có thể sử dụng số điểm nổi và thực hiện số học với chúng trực quan hơn rất nhiều. Đây là một ví dụ tầm thường về một cách sử dụng nó để "làm sạch" các giá trị danh sách của bạn:

Đã trả lời ngày 16 tháng 3 năm 2011 lúc 14:083 gold badges39 silver badges44 bronze badges

MartineaumartineauOct 21, 2018 at 17:42

Hướng dẫn how do you round a value in a list python? - làm thế nào để bạn làm tròn một giá trị trong một python danh sách?

Silvia42Silvia42Silvia42

Huy hiệu vàng 116K251 silver badge1 bronze badge

PZAEnger

list = [0.30000000000000004, 0.5, 0.20000000000000001]
list = "%.2f" % list
TypeError: not all arguments converted during string formatting
0

10k3 Huy hiệu vàng39 Huy hiệu bạc44 Huy hiệu đồng

list = [0.30000000000000004, 0.5, 0.20000000000000001]
list = "%.2f" % list
TypeError: not all arguments converted during string formatting
1

Đã trả lời ngày 21 tháng 10 năm 2018 lúc 17:42Sep 8, 2020 at 18:22

Huy hiệu bạc 911jojo

Bạn có thể sử dụng

list = [0.30, 0.5, 0.20]
0 tích hợp cùng với biểu thức
list = [0.30, 0.5, 0.20]
1:2 gold badges49 silver badges69 bronze badges

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.30, 0.5, 0.20]
2 từ mô -đun FuncTools để làm việc với các chức năng bậc cao hơn:

list = [0.30000000000000004, 0.5, 0.20000000000000001]
list = "%.2f" % list
TypeError: not all arguments converted during string formatting
2

Đã trả lời ngày 8 tháng 9 năm 2020 lúc 18:22May 16, 2018 at 15:55

Hướng dẫn how do you round a value in a list python? - làm thế nào để bạn làm tròn một giá trị trong một python danh sách?

Jojojojo

9,5162 huy hiệu vàng49 Huy hiệu bạc69 Huy hiệu đồng

np.round(list,2)

Một tùy chọn khác không yêu cầu Numpy là:Jul 4 at 14:42

1

Làm thế nào để bạn làm tròn đến 2 chữ số thập phân ở Python?

Sử dụng hàm trần () (trả về giá trị trần của số, tức là, số nguyên nhỏ nhất lớn hơn hoặc bằng số), để làm tròn số lên đến 2 chữ số thập phân và in số kết quả.

Round () làm tròn lên hay xuống?

Hàm vòng () làm tròn một số đến toàn bộ số gần nhất. Toán học. Phương pháp trần () làm tròn một số lên đến toàn bộ số gần nhất trong khi toán học. Phương thức sàn () làm tròn một số xuống tổng số gần nhất.rounds a number to the nearest whole number. The math. ceil() method rounds a number up to the nearest whole number while the math. floor() method rounds a number down to the nearest whole number.

Python có vòng 0,5 lên hay xuống không?

Đối với 0,5, nó làm tròn lên.For = 0,5, hàm vòng () làm tròn số đến số chẵn gần nhất.Vì vậy, 0,5 được làm tròn về 0, và -0,5;33,5 và 34,5 đều được làm tròn đến 34;-33,5 -34,5 đều được làm tròn đến -34, v.v.. For =0.5, the round() function rounds the number off to the nearest even number. So, 0.5 is rounded to zero, and so is -0.5; 33.5 and 34.5 are both rounded off to 34; -33.5 -34.5 are both rounded off to -34, and so on.

Hàm vòng () là gì?

Sự mô tả.Hàm tròn làm tròn một số đến một số chữ số được chỉ định.Ví dụ: nếu ô A1 chứa 23.7825 và bạn muốn làm tròn giá trị đó đến hai vị trí thập phân, bạn có thể sử dụng công thức sau: = vòng (A1, 2) kết quả của hàm này là 23,78.rounds a number to a specified number of digits. For example, if cell A1 contains 23.7825, and you want to round that value to two decimal places, you can use the following formula: =ROUND(A1, 2) The result of this function is 23.78.