簡體   English   中英

如果鍵在Python中包含子字符串

[英]If key contain substring in Python

我在dict中有另一種類型的鍵(也不需要鍵入值)

'PL-1/KK-1/FO-1'
'PL-1/KK-2/GH-3'
'PL-1/KK-2'
'PL-1/KK-1/FO-4'

我需要一個條件

if exist (key.split('/')[2])
do something 
return data
else:
do something
return data

所需的輸出:在第一種情況下,所有鍵都輸入除'PL-1/KK-2'以外'PL-1/KK-2'條目。

python中是否有類似“ exist”的東西?

不,沒有“存在”運算符。

在您的情況下,您應該只測試斜線:

if key.count('/') >= 2:
    # ...

如果您需要鑰匙的組件,請存儲並測試長度:

components = key.split('/')
if len(components) >= 2:
    # ...
def has_key(i_dict, i_filter):
    return any(k for k in i_dict.iterkeys() if i_filter(k))

# be it a dict called my_dict
# you could call it like 
has_key(my_dict, lambda x: x.count("/") == 2)
# or
has_key(my_dict, lambda x: len(x.split("/"))==2) 

這是一個小測試

>>> my_dict = {"a":1,"c":3}
>>> has_key(my_dict, lambda k:k=="a")
True
>>> has_key(my_dict, lambda k:k=="c")
True
>>> has_key(my_dict, lambda k:k=="x")
False

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM