我在python中创建一个字典

时间:2016-02-10 10:14:49

标签: python

我想要一个像

这样的结构
var={userid:{bookid:rating,book2:rating,.....}}

我没有得到如何查询它。 我得到这样的结构: - 例如: -

var={1:{101:2}}{1:{102:1}}

但我想要

var={1:{101:2,102:1}}

我从数据库中获取userid,bookid,ratings的所有值。 而且我想知道如何访问这些记录

实际上我正在创建一个推荐引擎,所以我需要将每个用户与其他每个用户进行比较。如果有人可以帮我这个 三江源

1 个答案:

答案 0 :(得分:0)

回答关于如何创建这样一个结构的第一个问题。您可以通过以下行创建类似这样的词典:

a = {}
a[1] = {}
a[1][101] = 2
a[1][102] = 1
print a  # output: {1: {101: 2, 102: 1}}

(它实际上是字典中的字典)

回答您的问题如何访问结果: 以下是访问查询结果的代码示例。

import datetime
import mysql.connector

cnx = mysql.connector.connect(user='scott', database='employees')
cursor = cnx.cursor()

query = ("SELECT first_name, last_name, hire_date FROM employees "
         "WHERE hire_date BETWEEN %s AND %s")

hire_start = datetime.date(1999, 1, 1)
hire_end = datetime.date(1999, 12, 31)

cursor.execute(query, (hire_start, hire_end))

for (first_name, last_name, hire_date) in cursor:
  print("{}, {} was hired on {:%d %b %Y}".format(
    last_name, first_name, hire_date))

cursor.close()
cnx.close()

(此示例取自此页面:https://dev.mysql.com/doc/connector-python/en/connector-python-example-cursor-select.html

这也有帮助:https://dev.mysql.com/doc/connector-python/en/connector-python-api-mysqlcursor-execute.html