栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用字典为单个键提供多个值?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用字典为单个键提供多个值?

您应该使用SQL数据库而不是

dict
基于-based的接口,因为SQL数据库已经处理了表中的多个元组。

无论如何,如果您想要一个

dict
接口,则可以使用该
shelve
模块(
bsddb
已弃用,因此应避免使用该模块)并将每个值保存在
list

import shelveCOLUMNS = ('FirstName', 'LastName', 'Age', 'Sex')the_db = shelve.open('test.db', writeback=True)for col_name in COLUMNS:    if col_name not in the_db:        the_db[col_name] = []records = [    ('John', 'Deer', 20, 'M'),    ('Ada', 'Lovelace', 23, 'F'),]for record in records:    for col_name, value in zip(COLUMNS, record):        the_db[col_name].append(value)the_db.close()the_db = shelve.open('test.db')for record in zip(*(the_db[col_name] for col_name in COLUMNS)):    print(record)the_db.close()

上面的代码输出:

('John', 'Deer', 20, 'M')       ('Ada', 'Lovelace', 23, 'F')

如果要使用SQL数据库,则可以使用该

sqlite3
模块。例如:

import sqlite3conn = sqlite3.connect('test.sqlite')cursor = conn.cursor()cursor.execute('''CREATE TABLE people (    FirstName text,    LastName text,    Age int,    Sex text    )''')cursor.execute('''INSERT INTO people values ('John', 'Deer', 20, 'M')''')cursor.execute('''INSERT INTO people values ('Ada', 'Lovelace', 23, 'F')''')conn.commit()for record in cursor.execute('''SELECt * FROM people'''):    print(record)

上面的代码输出:

(u'John', u'Deer', 20, u'M')(u'Ada', u'Lovelace', 23, u'F')

(请注意,这

u'...'
仅表示字符串是unipre,不会更改其值)

但是,这段代码有一些问题(例如,尝试运行两次…),但是,如果您想遵循此路径,则 必须先
学习SQL,然后继续进行研究(有很多在线教程。例如

w3schools
那些)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/669186.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号