1. python3返回字典里出現最多的一個數
你寫了那麼多, 其實就是
#dict為內建函數,不建議作為變數名
deff(d):
returnmax(d.values())
這里返回的只是年份的最大值
2. 如何使用python的字典功能去完成如下功能
import re
read_user_results(usr):
key_list = ['mark','comment']
f = open('result_file.txt','r')
#search user
while(True):
if not l: break
l = f.readline().replace('\n','')
if l == usr: break
d = {}
while(True):
if not l: break
l = f.readline().replace('\n','')
if l not in key_list: break
for k in key_list:
t = re.match(k+' (.*):(.*)',l).groups()
d[k] = dict(t)
return tuple(d.values())
3. python輸出字典的問題
count.pop(tempKey) 這句不對
你把count清空了
把"count.pop(tempKey)"這一句去掉就應該OK了
dict.pop的用法如下
pop(key[, default])
If key is in the dictionary, remove it and return its value, else return default. If default is not given and key is not in the dictionary, a KeyError is raised.
PS: 其實有更簡單的辦法
seq = ['a', 'hello', 'hello', 'hello', 'hello', 'hello', 'hello', 'world', 'z', 'world', 'world', 'z']
keySet = set(seq)
temp = [(a, seq.count(a)) for a in keySet]
temp.sort(lambda x,y: cmp(x[1],y[1]))
4. python多重字典返回
為啥用字典去表示呢。。。無窮嵌套了
用class去表示節點node,然後left,right,index,value都做為屬性。
然後所有節點按照前/中/後序遍歷放進list中~
5. 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了.
-----
希望可以幫到題主, 歡迎追問.
6. Python 中使用字典時出現returned exit code 0 是什麼意思
一般來講, 返回值是0表示沒有錯誤的執行結束. 返回值是通知調用者或操作系統的, 你這個是在某個編輯器里執行的結果吧? 表示正確地執行到程序的結尾都是OK的
7. python 字典問題
首先,你這個for循環體中的if結構,它的兩個分支都包含了return,那麼,無論if的表達式是真還是假,都會return。
那麼,就是說,這個for第一次循環就必然會遇到一個return。
所以,不會循環第二次,也就不會匹配到字典中value為'2009'的那一條了。
實際上的運行過程中,第一次key為'172.29.92.160',與host不能匹配,執行了returnprint('Nonevalue!')這一句。
這里,print('Nonevalue!')會產生一個輸出行,內容為'Nonevalue!';
然後return的是print()的結果,而print()是沒有返回值或者說返回值是None,因此,這個conportnum()的返回值就是None
所以你看到了兩行輸出,第一行是函數中print()語句產生的輸出,第二行是函數conportnum()的結果值。
你這個函數的功能就是從字典中尋找key為指定值的項,可以這樣做:
portnum={"172.29.92.160":'2010',
"172.29.92.159":'2009',
}
port=portnum.get('172.29.92.159')
ifnotport:
#沒有匹配項
else:
#對應埠在port中
如果有默認埠,匹配不到則使用的默認埠的話:
DEFAULT_PORT='8080'
portnum={"172.29.92.160":'2010',
"172.29.92.159":'2009',
}
port=portnum.get('172.29.92.159',DEFAULT_PORT)
#對應埠在port中
8. python寫一個函數,函數可以支持接收任意內容(關鍵字傳參)並返回字典
#函數傳遞參數
def func_args( *vartuple ):
args = []
#任何傳入的參數都加入列表
for var in vartuple:
args.append(var)
return args
a = func_args("123","abc","ABC","000")
print(a)
9. Python 返回字典報錯 x是一個字典,如果我用返回就會報錯,而用列印就正常輸出,為什麼呢
return是用於函數返回值用的,你只有一個for循環,沒有函數,所以就報錯了。
10. Python之字典排序,這篇文章里,return的東西有點看不懂
return [value for key, value in items] #返回一個「由字典項的值組成的列表[]
比如字典items是{ 'a':0, 'b':1, 'c':2}
將返回[0,1,2]
return [adict[key] for key in keys] #將以字典keys的鍵作為字典adict的鍵,返回一個「由字典adict的值組成的列表[]
比如keys為{ 'a':0, 'b':1, 'c':2},adict為{ 'a':3, 'b':4, 'c':5}
將返回[3, 4, 5]
return map(adict.get,keys) #函數映射,把keys的鍵值逐個映射到adict.get函數,即用keys的鍵求adict的值,返回到一個遍歷器。
執行list(map(adict.get,keys))得到[3,4,5] 順序或有不同