Tôi có một cuốn từ điển trong các hình thức:trung bình của các bộ
{"a":(1, 0.1) , "b":(2, 0.2) , ...}
Mỗi ngoặc là một tuple tương ứng với (điểm số, độ lệch chuẩn). Làm cách nào để lấy số trung bình của số nguyên đầu tiên trong mỗi bộ? Tôi đã thử điều này:
for word in d:
(score, std) = d[word]
d[word]=float(score),float(std)
if word in string:
number = len(string)
v = sum(score)
return (v)/number
Nhận lỗi này:
v = sum(score)
TypeError: 'int' object is not iterable
Bạn không thực sự cần danh sách hiểu, 'tổng hợp' sẽ thực hiện bất kỳ lần lặp nào, do đó biểu thức trình tạo trong' sum (v [0] cho v trong d.values ()) 'sẽ hoạt động mà không cần tạo danh sách trung gian . –
Điểm tuyệt vời. Tôi chỉ nghĩ rằng việc xây dựng các biểu thức như thế này là một chút rõ ràng hơn. – Mike