gpt4 book ai didi

python - Python 中的二维列表填充

转载 作者:太空宇宙 更新时间:2023-11-03 10:58:49 27 4
gpt4 key购买 nike

我正在努力使用二维列表并用数字填充它们来完成这项作业。任务是:

Create a table using a two dimensional list that stores a Fahrenheit temperature and the equivalent Celsius temperature. Use the following range of Fahrenheit temperatures: -10 through 100 in increments of 10.

我无法尝试用数字 -10 到 100 填充我的二维列表的第一列。到目前为止我有什么:

ROWS = 11
COLS = 2


def main():
list = [[0,0],
[0,0],
[0,0],
[0,0],
[0,0],
[0,0],
[0,0],
[0,0],
[0,0],
[0,0],
[0,0]]

for i in range(ROWS):
for i in range(-10,110,10):
list.insert(0, i)

print(list)


main()

最佳答案

您正在寻找的是 list comprehension :

def inCelsius(temperature):
return (temperature / 2) - 20

x = [[temperature, inCelsius(temperature)] for temperature in range(-10, 110, 10)]

这会产生:

>>> x
[[-10, -25.0], [0, -20.0], [10, -15.0], [20, -10.0], [30, -5.0], [40, 0.0], [50, 5.0], [60, 10.0], [70, 15.0], [80, 20.0], [90, 25.0], [100, 30.0]]

显然您的 inCelsius() 转换会有所不同。

请注意,您不需要提前设置列表;列表理解会为你做到这一点。还要注意 Python 的 list insert()将在指示的位置插入提供的项目。这意味着它会增加您的列表的大小——这是您不想要的,除非您从头开始增加您的二维列表。

最后,一个 dictionary comprehension将使您的数据结构更有用:

conversion = {temperature: inCelsius(temperature) for temperature in range(-10, 110, 10)}

这意味着您可以使用conversion 作为“预计算缓存”来查找以摄氏度为单位的华氏温度值:

>>> conversion[10]
-15.0

这意味着您只需为每个值计算一次温度。如果转换很复杂或处理器密集,这是一种很方便的优化。

关于python - Python 中的二维列表填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36636074/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com