今天遇到一個(gè)場(chǎng)景:我需要比較傳過(guò)來(lái)的參數(shù)集合和我預(yù)先設(shè)定的參數(shù)集合是否包含匹耕,也就是說(shuō)渔呵,系統(tǒng)要求必須傳過(guò)來(lái)的幾個(gè)參數(shù)怒竿,是否都傳過(guò)來(lái)了。網(wǎng)上找了一圈扩氢,各種說(shuō)法不一耕驰,思來(lái)想去,用了最基礎(chǔ)的方法录豺,最土的辦法耍属,解決了這個(gè)問(wèn)題。
首先巩检,傳進(jìn)來(lái)的是列表,如果是集合示启,大家根據(jù)情況調(diào)整兢哭。參數(shù)我做了簡(jiǎn)化處理,大家用時(shí)候根據(jù)情況來(lái)使用夫嗓。
上函數(shù):
# 定義一個(gè)函數(shù)
def vData(a,b):
????c =set(b) # 先把b參數(shù)保留一個(gè)集合備份
????b[1:1] = a # 讓b列表和a列表合并
????d =set(b) # 再把合并后的b列表做成集合
????if (c == d): # 比較合并前后的集合是否相同
????????return True # 相同迟螺,說(shuō)明b列表里完全包含a列表
? ? else:
????????return False # 不相同,說(shuō)明a列表中規(guī)定的一些字段b里面并沒(méi)有
以上舍咖,a是我定好必須要傳的字段列表矩父,b是實(shí)際傳進(jìn)來(lái)的字段列表,這樣排霉,就簡(jiǎn)單輕松實(shí)現(xiàn)了兩個(gè)列表的并集關(guān)系窍株,應(yīng)用到檢查接口參數(shù)是否完整還挺好使。