我在dict中有一个带有相关平方英尺的空格列表。我想调用每个项目并使用其区域来形成具有简单面积/宽度方程的维度...然后将维度与空间名称重新关联。我已经知道dicts没有索引和未分类。提前谢谢!
#program areas
ticketing_sqft=600
galleries_sqft=12500
auditorium_sqft=2000
conference_sgft=1600
#dict of areas
sqft=dict(ticketing_sqft=600, galleries_sqft=12500, auditorium_sqft=2000,
conference_sgft=1600)
program_names=list(sqft.keys())
areas=list(sqft.values())
areas.sort()
答案 0 :(得分:0)
尝试这样的事情:
sq_dict = {"ticketing_sqft": 600, "galleries_sqft": 12500, "auditorium_sqft": 2000, "conference_sqft": 1600}
lenwid_dict = {}
for key in sq_dict:
lenwid_dict[key] = [sq_dict[key]/2, sq_dict[key]/3] # any formula here
print lenwid_dict
基本上遍历我们的平方英尺字典中的键/值对,并根据对我们的平方英尺字典值的操作创建长度/宽度字典。
答案 1 :(得分:0)
让我们定义你的词典:
>>> sqft=dict(ticketing_sqft=600, galleries_sqft=12500, auditorium_sqft=2000, conference_sgft=1600)
现在,让我们制作一个字典,说明如果它是一个完美的正方形,该区域的宽度,长度:
>>> wh = {bldg:(area**0.5, area**0.5) for (bldg, area) in sqft.items()}
新词典如下:
>>> print wh
{'auditorium_sqft': (44.721359549995796, 44.721359549995796), 'conference_sgft': (40.0, 40.0), 'ticketing_sqft': (24.49489742783178, 24.49489742783178), 'galleries_sqft': (111.80339887498948, 111.80339887498948)}
古代数学家会争辩说,如果矩形的边与golden ratio成正比,则矩形看起来最好。如果您的建筑物属于这种情况,请使用:
>>> r = (1 + 5**0.5)/2
>>> wh = {bldg:((area/r)**0.5, (area*r)**0.5) for (bldg, area) in sqft.items()}
>>> print wh
{'auditorium_sqft': (35.15775842541429, 56.88644810057831), 'conference_sgft': (31.446055110296932, 50.880785980562756), 'ticketing_sqft': (19.256697360916718, 31.15799084103365), 'galleries_sqft': (87.89439606353574, 142.21612025144577)}