首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在一个键字典中存储不同类型的值

在一个键字典中存储不同类型的值
EN

Stack Overflow用户
提问于 2017-02-22 01:24:42
回答 1查看 554关注 0票数 1

我想做一个“旅行”摘要,看起来是:

4起点到达芝加哥。要进入这个城市,您可以使用:公路X、 高速公路Z、 公路ZZ.

我目前拥有的数据如下所示:

纽约X号公路,芝加哥 Z号公路,洛杉矶,芝加哥 X高速公路,奥斯汀,芝加哥 ZZ公路,迈阿密,芝加哥

我的问题是:我应该使用什么来正确地存储这些数据?

我试着用一本字典,里面有一张清单。然而,它没有工作,因为我无法存储的公路清单。我只得到了

[芝加哥:纽约,洛杉矶,奥斯汀]

更新!!

我刚刚发现我的数据中存在重复,这不是一个好消息,因为我希望起点是不同的。现在看起来是这样的:

纽约X号公路,芝加哥 纽约X号公路,芝加哥 Z号公路,洛杉矶,芝加哥 X高速公路,奥斯汀,芝加哥 ZZ公路,迈阿密,芝加哥 纽约X号公路,芝加哥

EN

回答 1

Stack Overflow用户

发布于 2017-02-22 01:39:57

组织数据的最佳方式取决于您想要对它们做什么。

你想回答这样的问题:“我在奥斯汀,我要走哪条高速公路才能到达芝加哥?”

那么,你的钥匙应该是出发城市:

代码语言:javascript
运行
复制
lookup = {'Austin': 'Highway X',
          'NY': 'Highway X',
          'LA': 'Highway Z',
          'Miami': 'Highway ZZ'}

因为这样您就可以通过简单地查找提问者的起点来回答这个问题:

代码语言:javascript
运行
复制
lookup['Austin']
# prints
# Highway X

但如果你想回答不同的问题,比如“在X公路上旅行的人,他们更有可能来自哪个城市?”那你就会以不同的方式组织你的数据。

如果您只想打印,请使用“lil”(列表列表)。

代码语言:javascript
运行
复制
table = [["Highway X", "NY", "Chicago"],
         ["Highway Z", "LA", "Chicago"],
         ["Highway X", "Austin", "Chicago"],
         ["Highway ZZ", "Miami", "Chicago"]]

那么您就可以轻松地格式化

代码语言:javascript
运行
复制
for row in table:
    print("{:12}{:8}{:10}".format(*row))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42381037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档