我有一個Python代碼中的字典,像這樣:
S = {(x0): 'omicron', (x1): 'a', (x2): 'ab', (x3): 'abbr', (x4): 'abr', (x5): 'abrf', (x6): 'abrfa', (x7): 'af', '(x8)': 'afc'}。
我想檢查哪個鍵有其對應的字母數最多的字典,除了有'omicron'的那個。這個例子中的答案應該是。(x6),因為它的字典里有 5 個字母,比其他任何鍵都多,而且不包括 (x0):'micron'。
有什么有效的方法可以做到這一點嗎?謝謝你。
uj5u.com熱心網友回復:
你可以使用max的關鍵引數:
res = max(S, key=lambda x: (S[x] ! = 'omicron', len(S[x]))
print(res)
輸出
(x6)
這將使值不同于'omicron'的鍵的值高于等于(1 > 0)的鍵。對于那些沒有'omicron'值的鍵,使用長度作為平局。
uj5u.com熱心網友回復:
S = {('x0'/span>): 'omicron', ('x1'): 'a', ('x2'): 'ab', ('x3'): 'abbr', ('x4') 。' abr', ('x5'): 'abrf', ('x6'): ' abrfa', ('x7'): 'af', ('x8'): 'afc'}。
keys = list(S.key() )
最長的=0
word = ''/span>
for i in range(len(keys)) 。
if len(S[f'{keys[i]}']) > 最長的and S[f'{keys[i]}'] ! = 'omicron':
longest = len(S[f'{keys[i]}'] )
word = keys[i]
print(longest, word)
輸出:
5 x6
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/328619.html
標籤:
