第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

Python 使用 if 語句驗(yàn)證多個值

Python 使用 if 語句驗(yàn)證多個值

楊__羊羊 2021-09-02 14:50:21
Example1 檢查單個值:def validate(self, data, check, col):    output = []    for key, value in data.iteritems():        try:            if value[col] == check:                output.append("{},{},Passed".format(key,value[col]))            else:                output.append("{},{},Failed".format(key,value[col]))        except IndexError as e:            pass    return outputdata1 = {key1:['a','b','c','ok'], key2:['a','b','c','down']}check = "ok"col = 3print self.validate(data1, check, col)輸出:['key1','ok','Passed', 'key2','down','Failed']Example2 檢查兩個值: data1 = {key1:['a','b','c','ok', "True"], key2:['a','b','c','down', "False"]} def validate(self, data, check1, check2, col1, col2):    output = []    for key, value in data.iteritems():        try:            if value[col1] == check1 and value[col2] == check2:                output.append("{},{},{},Passed".format(key,value[col1], value[col2]))            else:                output.append("{},{},Failed".format(key,value[col1], value[col2]))        except IndexError as e:            pass    return output有沒有一種方法可以在一個代碼中實(shí)現(xiàn)上述兩個示例(驗(yàn)證多個值一、二、三、四)
查看完整描述

2 回答

?
慕無忌1623718

TA貢獻(xiàn)1744條經(jīng)驗(yàn) 獲得超4個贊

為什么不all與列/檢查值的壓縮列表一起使用?

if all(value[col] == check for col,check in zip((col1,col2),(check1,check2))):

如果你有更多的參數(shù),我建議你轉(zhuǎn):

def validate(self, data, check1, check2, col1, col2):

進(jìn)入

def validate(self, data, check_values, columns):

所以你可以適應(yīng):

if all(value[col] == check for col,check in zip(columns,check_values)):

此外,由于這些值和列是鏈接的,因此可以直接傳遞元組列表或?qū)⑺鼈冩溄釉谝黄鸬淖值涞?code>validate.


查看完整回答
反對 回復(fù) 2021-09-02
?
叮當(dāng)貓咪

TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個贊

如果您不需要一個對象/返回中的所有輸出,我們可以對您的第一個函數(shù)進(jìn)行一些調(diào)整。


from collections import defaultdict


def validate(data, check_value, column_index):

    # validating whether the list item at column_index == check_value

    output = defaultdict(list)

    for k,v in data.items():  # for python2, use data.iteritems()

        if check_value in v and column_index <= len(v) and v[column_index] == check_value:

            output[check_value].append({k: [v[column_index], 'passed']})

        else:

            output[check_value].append({k: [v[column_index], 'failed']})

    return output

這應(yīng)該為您的單值測試返回相同的預(yù)期結(jié)果。


您可以對多個值執(zhí)行以下操作:


check_values = ['ok', 'b']

column_indices = [3, 2]


for value, index in zip(check_values, column_indices):

    validate(data, value, index)

返回:


defaultdict(<class 'list'>, {'ok': [{'key1': ['ok', 'passed']}, {'key2': ['down', 'failed']}]})

defaultdict(<class 'list'>, {'b': [{'key1': ['c', 'failed']}, {'key2': ['c', 'failed']}]})



查看完整回答
反對 回復(fù) 2021-09-02
  • 2 回答
  • 0 關(guān)注
  • 275 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號