當前位置:首頁 » 編程語言 » python返回字典

python返回字典

發布時間: 2022-08-03 17:51:01

⑴ 請教,python web.py查詢資料庫返回的結果是列表還是字典

我常用pymssql連接M$SQL伺服器, 沒用過pyodbc, 但按理應該都差不多。
若用pymssql, 從資料庫中取數據的過程如下:

import pymssql

connect_setting = {
'host': '127.0.0.1',
'user': 'sa',
'password': '',
'database': 'master',
'charset': 'gb18030'
}

conn = pymssql.connect(**connect_setting)
curr = conn.cursor()
curr.execute("select list, name from nlist")
result = [(lst, name) for lst, name in curr]
curr.close()
conn.close()

關於"如何查詢,list的每個值在資料庫中對應的Name「
若庫表中的數據像下面的樣子:
id, name:
1, 'python'
2, 'perl'
3, 'c'
4, 'java'
且每行id是唯一值, 將從資料庫表中拿到的數據放到一個字典中:
curr.execute("select id, name from nlist")
dd = dict([(id, name) for id, name in curr])

lst = [1,2,3,4,5,6]
用dd進行轉換
[(i, dd.get(i)) for i in lst]
==>
[(1, 'python'), (2, 'perl'), (3, 'c'), (4, 'java'), (5, None), (6, None)]

or

[dd.get(i, i) for i in lst]
==>
['python', 'perl', 'c', 'java', 5, 6]

⑵ python3返回字典里出現最多的一個數

你寫了那麼多, 其實就是

#dict為內建函數,不建議作為變數名
deff(d):
returnmax(d.values())

這里返回的只是年份的最大值

⑶ python寫一個函數,函數可以支持接收任意內容(關鍵字傳參)並返回字典

#函數傳遞參數

def func_args( *vartuple ):

args = []

#任何傳入的參數都加入列表

for var in vartuple:

args.append(var)

return args


a = func_args("123","abc","ABC","000")

print(a)

⑷ python 字典的問題

題主你好,

寫在前面: 我先給題主舉個例子, 我先定義一個字典:

dict03 = {1:3, 5:7}

可以看出上面這個字典有兩個元素, 此時我們使用dict03.values()得到的結果為:

dict_values([3,7])

從上面這個結果可以看出, 字典的values方法,會將字典中的所有鍵值對的值生成一個列表, 作為dict_values()參數,並返回.

-----

上面沒有講到重點,只是作了一個引, 下面看到底問題出在哪了.

題主定義的dict03={0:[1,3,5,7]}, 這個字典, 其實只有一個鍵值對, 鍵是整數0,值是列表[1,3,5,7], 所以此時dict03.value()返回的值為 dict_values([[1,3,5,7]]), 重點就在這里, 注意,返回的是:

dict_values( [[ 1,3,5,7 ]] )

而不是

dict_values( [ 1,3,5,7 ] )

拋開前面這個dict_values, 也就是返回的是:

[[1,3,5,7]] 而不是 [1,3,5,7]

前者是含有一個元素的列表, 只不過這個元素本身也是一個列表;

後者是含有4個元素的列表, 每個元素都是整型數字;

而 x in y 這種形式中, 是看x是否存在於y中,

拿題主的代碼來說, 其實 i in dict03.values() 翻譯過來是:

5 in [[1,3,5,7]], 因為[[1,3,5,7]]這個列表就一個元素,為[1,3,5,7],所以5並不在[[1,3,5,7]]中,

如果翻譯過來是:

5 in [1,3,5,7],那麼我們得到的結果肯定是True, 因為[1,3,5,7]中有4個元素,而5恰在其中.

所以解決方法也就有了, 想辦法去掉[[1,3,5,7]]最外層的[].

代碼及測試截圖如下:

上圖中, 第一個紅框是將dict_values([[1,3,5,7]])轉換成 [[1,3,5,7]];

第二個紅框是將[[1,3,5,7]]轉換成[1,3,5,7];

此時最後一句print(5 in [1,3,5,7]) 也就得到了我們想要的結果True了.

-----

希望可以幫到題主, 歡迎追問.

⑸ python中字典常用的方法有哪些,分別有什麼作用

寫法:字典序列[key] = 值 ***字典為可變類型

常用方法:
1、# 新增字典中的數據
dict1 = {'name':'huu','age':20,'gender':'男'}
dict1['id'] = 133
print(dict1)

2、# 修改字典中的數據
dict1['name'] = 'xiauaiguai'
print(dict1)
3、刪除字典或刪除字典中指定鍵值對
del()/del:

dict1 = {'name':'huanghu','age':30,'gender':'男'}

# del(dict1) 直接將字典刪除了,運行報錯

del dict1['name']
print(dict1)
# del dict1[names] 刪除不存在的key,運行報錯

4、清空字典
clear():
dict1.clear() # 清空字典
print(dict1)

5、查找
key值查找
如果當前查找的key存在則返回對應的值,否則則報錯
函數查找
get():如果當前查找的key不存在則返回第二個參數值(默認值),
如果省略第二個參數則返回 None
key()

dict1 = {'name':'huhu','age':20,'gender':'男'}

print(dict1['name']) # huhu
print(dict1['id']) # 報錯

# 1, get()查找

print(dict1.get('name')) # huanghu
print(dict1.get('id',133)) # 133--如果當前查找的key不存在則返回第二個參數值(默認值)
print(dict1.get('id')) # None--如果省略第二個參數則返回 None

# 2, keys() 查找字典中所有的key,返回可迭代對象
print(dict1.keys()) # dict_keys(['name', 'age', 'gender'])

# 3,values() 查找字典中所有的values,
print(dict1.values()) # dict_values(['huanghu', 30, '男'])

# 4, items() 查找字典中所有的鍵值對,返回可迭代對象,裡面的數據是元組,
元組數據1是字典中的key,元組數據2是字典key對應的值
print(dict1.items()) # dict_items([('name', 'huahu'), ('age', 20), ('gender', '男')])

⑹ python中怎麼取出字典的鍵

舉例如下:

1、新增python文件,testdictkey.py;

⑺ Python 返回字典報錯 x是一個字典,如果我用返回就會報錯,而用列印就正常輸出,為什麼呢

return是用於函數返回值用的,你只有一個for循環,沒有函數,所以就報錯了。

⑻ python多重字典返回

為啥用字典去表示呢。。。無窮嵌套了
用class去表示節點node,然後left,right,index,value都做為屬性。
然後所有節點按照前/中/後序遍歷放進list中~

熱點內容
怎麼訪問暗網 發布:2025-01-23 07:02:04 瀏覽:665
無線配置代理選什麼 發布:2025-01-23 06:52:54 瀏覽:824
c程序匯編程序 發布:2025-01-23 06:49:42 瀏覽:840
cmd命令與linux命令 發布:2025-01-23 06:40:26 瀏覽:806
linux用戶目錄許可權 發布:2025-01-23 06:37:49 瀏覽:233
學計算機避免編程 發布:2025-01-23 06:29:09 瀏覽:661
易語言機器人源碼 發布:2025-01-23 06:24:03 瀏覽:320
匯編語言的編譯可以叫解釋嗎 發布:2025-01-23 06:23:22 瀏覽:35
tomcat編譯後的文件 發布:2025-01-23 06:05:46 瀏覽:254
惠普暢遊人14是什麼配置表 發布:2025-01-23 05:57:39 瀏覽:296