我想在一组数据中找到最高温度并将输出打印为“最热的温度是 y 中的 x”,其中 x 和 y 分别是温度和城市。我有这样的代码:
data = [['Sheffield', '41.2', '35.5', '41.1'],
['Lancaster', '31.3', '40.2', '37.9'],
['Southampton', '34.8', '33.9', '32',],
['Manchester', '41.9', '41.5', '44.2'],
['Bristol', '42.1', '37.1', '42.2']]
hot = []
for row in data:
for item in row:
if item == max(row[1:]):
hot.append(item)
if max(hot) in row:
print "The hottest temperature was {0} in {1}.".format(max(hot),row[0])
产生的输出:
The hottest temperature was 41.2 in Sheffield.
The hottest temperature was 44.2 in Manchester.
现在我对输出感到困惑。我只想打印一行输出,应该是“曼彻斯特最热的温度是 44.2”。因为 44.2 是数据中的最高温度。为什么会出现“谢菲尔德最热的温度是 41.2”。也打印?我哪里弄错了?