主頁 > 後端開發 > 如何檢查字典中的所有值是否相等?[復制]

如何檢查字典中的所有值是否相等?[復制]

2022-01-24 09:05:11 後端開發

這個問題在這里已經有了答案 檢查串列中的所有元素是否相同 26 個答案 19 小時前關閉

我要比較字典的值,看看它們是否一致;如果字典是 {'k1':'v2','k2':'v2','k3':'v2'} 我想比較在這種情況下都相同的值并且python列印三個值是 我目前使用的代碼給了我一個重復元素的串列,這是不好的代碼:

d1={'k1':'v2','k2':'v2','k3':'v2'}
l=[]
for v in d1.keys():
    for c in d1.keys():
        if d1[v] == d1[c]:
            l.append(c)
if len(l)==0:
    print('No keys have same values!')
else:
    print(l)

提前致謝

uj5u.com熱心網友回復:

如果您要查看字典的所有值是否都相同,那么您可以執行以下操作:

d1 = {"k1": "v2", "k2": "v2", "k3": "v2"}
if len(set(d1.values())) == 1:
    print("All values are the same")

說明: d1.values() 包含所有值, set() 對其進行重復資料洗掉, len() 提供長度。如果只有 1 個去重值,則所有值必須相同。

如果您正在尋找相同的值的計數(即使它們并不完全相同,那么您可以使用它的變體,將去重值的數量與鍵的數量進行比較。

uj5u.com熱心網友回復:

這應該作業 -

d1={'k1':'v2','k2':'v2','k3':'v2'}
l={}
for v in d1.keys():
    l[d1[v]] = list(d1.values()).count(d1[v])

if 0 in list(l.values()):
    print('No keys have same values!')
else:
    print(f'{list(l.values())[0]} keys have same values')

uj5u.com熱心網友回復:

如果您的值可以是字典的鍵,換句話說是可散列型別,那么您可以使用計數字典(并且您str的型別是可散列的)執行非常快速(線性復雜度)的演算法。

在最后的代碼輸出所有重復項(出現多次的值)之后,重復項顯示為成對的值和重復次數。

在線嘗試!

d1={'k1':'v2','k2':'v2','k3':'v2'}

cnt = {}
for e in d1.values():
    cnt[e] = cnt.get(e, 0)   1
cnt = sorted(cnt.items(), key = lambda e: e[1], reverse = True)

if len(cnt) > 0 and cnt[0][1] > 1:
    print('There are duplicates:', {a : b for a, b in cnt if b > 1})
else:
    print('No keys have same values!')

輸出:

There are duplicates: {'v2': 3}

使用標準庫類collections.Counter可以更短地實作與上面相同的代碼

在線嘗試!

import collections

d1={'k1':'v2','k2':'v2','k3':'v2'}

cnt = collections.Counter(d1.values()).most_common()

if len(cnt) > 0 and cnt[0][1] > 1:
    print('There are duplicates:', {a : b for a, b in cnt if b > 1})
else:
    print('No keys have same values!')

輸出:

There are duplicates: {'v2': 3}

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/420083.html

標籤:

上一篇:無法理解這個函式的作用

下一篇:返回列表

標籤雲
其他(135953) Python(24228) JavaScript(15073) Java(14739) C(11147) 區塊鏈(8215) AI(6919) 基礎類(6313) MySQL(5224) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4205) Linux(4118) PHP(3814) C#(3716) 爪哇(3561) html(3374) C語言(3288) C++語言(3117) sql(3024) R(2776) 熊猫(2774) Java相關(2746) 数组(2739) 疑難問題(2699) 反应(2482) 單片機工控(2479) css(2105) 数据框(1968) Web開發(1951) 节点.js(1938) VBA(1919) 網絡通信(1793) 蟒蛇-3.x(1774) 數據庫相關(1767) VB基礎類(1755) .NETCore(1671) ASP.NET(1650) 開發(1646) 系統維護與使用區(1617) C++(1582) 列表(1581) 基礎和管理(1579) json(1568) JavaEE(1566) 安卓(1523) HtmlCss(1519) 專題技術討論區(1515) Windows客戶端使用(1484) 扑(1469) iOS(1432) 查询(1408) .NET技术(1404) 打字稿(1376) Unity3D(1366) VCL組件開發及應用(1353) sql-server(1287) Qt(1283) 细绳(1226) HTML(CSS)(1220)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • 如何檢查字典中的所有值是否相等?[復制]

    這個問題在這里已經有了答案:...

    uj5u.com 2022-01-24 09:05:11 more
  • 無法理解這個函式的作用

    def is_balanced(input_str): s = list()for ch in input_str: if ch == '(': s.append(ch) if ch == ')': if not s: return False...

    uj5u.com 2022-01-24 09:04:21 more
  • python包中的物件是什么?

    我正在學習 python,我遇到了 python 中的包。我創建了一個包含__init__.pyand的目錄shipping.py。在shipping.py代碼中是def calc_shipping(): print("calculating shippi...

    uj5u.com 2022-01-24 09:03:42 more
  • 在tkinter中,如何將繼承的類變數的值插入到標簽小部件中?

    我遇到的問題專門與 Label 小部件有關。在鏈接的代碼中,Text 小部件和 Button 小部件的測驗都獲取繼承的值并正確顯示它。您可以在PageTwo 類中找到有問題的標簽小部件我試圖...

    uj5u.com 2022-01-24 09:03:03 more
  • 字典中的Starters串列

    在給定的名為solve的方法中,它以一個名為items的字串串列作為引數。您必須列印每個字母表的專案串列。按字母排序順序列印。示例輸入:面條, 米飯, 香蕉, 糖果, 拉面, 蛋奶酥,...

    uj5u.com 2022-01-24 09:02:22 more
  • 不明白為什么我的應用程式會這樣?

    實際上,我已經使用 kivy、kivymd 和 python 撰寫了一個應用程式。一切都很順利,但是當我使用 buildozer 將它轉換為 .apk 并在我的 android 設備上運行它時,GUI 似乎很小或者我...

    uj5u.com 2022-01-24 09:01:39 more
  • python中not和~有什么區別

    只是為了檢查,我找不到任何關于?的東西,所以我想確保它是一樣的。還有,能用嗎!在 python 中就像在 C 中一樣?似乎這兩個代碼給出了相同的輸出:bool(~0)bool(not 0)
    uj5u.com熱心...

    uj5u.com 2022-01-24 09:01:04 more
  • 從scrapy決議日期字串

    如何對文本字串進行排序/重新排序并重新格式化如下?我的代碼:details = response.xpath('//div[@]')for detail in details: released = detail.xpath('.//ul/li[1]/span[1...

    uj5u.com 2022-01-24 09:00:03 more
  • 從日期時間獲取當前日期作為紀元

    我正在嘗試從日期時間獲取日期(一天的開始)作為紀元。我認為,問題是物件被轉換為date具有以下代碼的物件from datetime import datetimetoday_epoch = datetime.timestamp(date...

    uj5u.com 2022-01-24 08:59:29 more
  • discord.ext.commands.errors.CommandInvokeError:命令引發例外:Va

    你好!我的不和諧機器人有一個單獨的幫助命令。class Help(commands.Cog): def __init__(self,client): self.client = client self.eSantaLogo = discord....

    uj5u.com 2022-01-24 08:58:27 more