2024-04-26 17:29:09 发布
网友
example from this dog chart
我的目标是:
def DogYears(): small_dog = { 1 : 15, 2 : 24, 3 : 28, 4 : 32, 5 : 36 6 : 40 . . . }
我的问题是如何使这个过程自动化,这样就不必手动填充了?你知道吗
我在想这样的事情,至少在那个方向,当然行不通:
def DogYears(): small_dog = { range(15, 80, 4) }
我还需要分配键值对。有什么想法吗?你知道吗
如果你想建立一个字典,一个简单的for就足够了。你知道吗
for
def DogYears(): small_dog = {} small_dog[1] = 15 i = 2 for j in range(24, 80, 4): small_dog[i] = j i = i + 1
你可以使用一个字典构造器包含人类年和狗年的范围,你必须添加离群值15,它会出现在最后,如果你需要正确排序字典,你可以使用lambda对它进行排序。你还需要扩大你的范围1个单位,因为他们不包括在内。你知道吗
15
lambda
small_dog = dict(zip(range(2, 17), range(24, 84, 4))) small_dog[1] = 15 small_dog = dict(sorted(small_dog.items(), key=lambda x: x[0])) # {1: 15, 2: 24, 3: 28, 4: 32, 5: 36, 6: 40, 7: 44, 8: 48, 9: 52, 10: 56, 11: 60, 12: 64, 13: 68, 14: 72, 15: 76, 16: 80}
使用列表可以让年龄保持正常顺序,并通过索引访问值。由于所有键只增加一个,因此使用列表将是更合适的数据结构。只需将range()结果存储到列表变量中即可。然后要访问正确的年份,您可以像我在GetAge函数中那样获取年龄,并传入年份和列表。你知道吗
range()
GetAge
def DogYears(): small_dog = range(15, 80, 4) def GetAge(year, dog_list): index = year - 1 if index >= 0 and index < len(dog_list): return dog_list[index]
如果你想建立一个字典,一个简单的
for
就足够了。你知道吗你可以使用一个字典构造器包含人类年和狗年的范围,你必须添加离群值
15
,它会出现在最后,如果你需要正确排序字典,你可以使用lambda
对它进行排序。你还需要扩大你的范围1个单位,因为他们不包括在内。你知道吗使用列表可以让年龄保持正常顺序,并通过索引访问值。由于所有键只增加一个,因此使用列表将是更合适的数据结构。只需将
range()
结果存储到列表变量中即可。然后要访问正确的年份,您可以像我在GetAge
函数中那样获取年龄,并传入年份和列表。你知道吗相关问题 更多 >
编程相关推荐