亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Python中找到與條件匹配的元素?

如何在Python中找到與條件匹配的元素?

慕的地6264312 2021-11-23 20:10:48
我有 4 個元素 a、b、c、d,我不知道 a、b、c、d 的值。但我知道 a,b,c,d 可以具有的值在 (1,4) 范圍內。更具體地說,a 可以是 1 或 2 或 3 或 4。同樣適用于 b、c、d。我想檢查其中哪一個 (a,b,c,d) 的值為 1 并顯示該元素。例如,如果 c=1 我希望顯示 c。我怎樣才能在 Python 中做到這一點?
查看完整描述

3 回答

?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

嘗試使用pandas。更具體地說,熊貓系列


import pandas as pd


numbers = {'a':2,'b':4,'c':1,'d':3}


numseries = pd.Series(numbers)


boolseries = numseries == 1


print(list(numseries.index[boolseries]))

輸出:['c']


對于如此少量的數據來說可能有點矯枉過正,但是如果您發現自己需要使用更大的數據集來執行此操作,則非常有用。它還處理滿足條件的元素不止一個的情況。


查看完整回答
反對 回復 2021-11-23
?
SMILET

TA貢獻1796條經驗 獲得超4個贊

假設你看字典


   d={'a':2,'b':3,'c':1,'d':1}

怎么樣:


   for k in d.keys():

      if d[k]==1:

         print(k)

應該打印“c”和“d”


查看完整回答
反對 回復 2021-11-23
?
紅顏莎娜

TA貢獻1842條經驗 獲得超13個贊

簡單的方法是測試每個變量:


a = 3

b = 4

c = 2

d = 1


x = 1

if a == x:

    print('a')

elif b == x:

    print('b')

elif c == x:

    print('c')

elif d == x:

    print('d')

只要變量的數量相當少,就可以做到這一點。如果這是您經常需要做的事情,我建議您改用不同的數據結構(例如 a dict):


my_dict = {'a': 3, 'b': 4, 'c': 2, 'd': 1}

x = 1

matching_elements = [k for k in my_dict if my_dict[k] == x]

print(matching_elements[0])

如果多個變量(或者,在這種dict情況下,鍵)具有相同的值,第一個方法將打印第一次出現,而第二個方法可能會或可能不會返回第一個取決于天堂的對齊方式,因為dicts 沒有被排序(它將返回雖然只有一個)。如果您想打印所有具有該值的變量,您可以將所有變量替換為elif,if或者,在第二種情況下,print(matching_elements).


hacky方式(會回來咬你)是這樣的:


itervar = None  # If this does not exist the following will crash

for itervar in locals():

    if locals()[itervar] == x:

        print(itervar)

這將打印所有與 x 具有相同值的變量。


查看完整回答
反對 回復 2021-11-23
  • 3 回答
  • 0 關注
  • 254 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號