-2

实现类似 SQL 的查询工具,其中必须按给定顺序从 STDIN 读取以下内容:-

1. Number of rows of the table (n) and Number of queries (q).
2. Table fields separated by Comma.
3. n line containing table rows of the table
4. q queries where clause.

我们必须在 STDOUT 上打印每个查询的输出。

例如:-

输入:

4,2

"Name","Age","Sex","Salary"

1,"Joy",21,"M",2000

2,"Alan",28,"M",500

3,"John",30,"M",1000

4,"Nemo",45,"F",1500

Salary>=1000

Sex="M" and Salary>499 

输出:

2

3

你们能告诉我应该如何解决这个问题吗?我应该使用什么数据结构来存储表和处理查询?

PS:我不是要求现成的解决方案,我只需要逐步帮助解决这个问题。

4

1 回答 1

0

我猜这个练习是为了练习 SQL(而不是真正的 SQL,因为这是显而易见的解决方案)。

我有一个字典列表(每行一个字典)用数据填充它,然后使用列表理解来过滤行

[ line for line in lines if (line['Sex']=='M') and (line['Salary'] > 499)]

当然,要创建这样一个 python 命令,你需要做很多解析——但这是方向

于 2015-02-23T20:12:29.023 回答