2017-11-10 199 views
0

Re .lower用法(?),如何爲字典值製作不區分大小寫的匹配?例如,即使字典僅具有小寫字母,config[camID]["media_file"]]也應該匹配小寫和大寫擴展名。字典值的大小寫不敏感匹配

1從字典行:

config['d5']['media_file'] = ('nef', 'jpg', 'avi') 

代碼:

for f in files: 
    if any([f.endswith(x) for x in config[camID]["media_file"]]): 
     os.rename(os.path.join(path, f), 
        os.path.join(path, "%s%s%s" % (config[camID]['cam_name'], "_", f))) 

(如果有一個 「在詞典」 溶液(即,而不是在代碼),這將是還有趣要知道。)

+1

使用'f.lower()。endswith(x)'? –

+1

檢查https://stackoverflow.com/questions/17355312/case-insensitive-string-search-of-dictionary – user5702319

回答

2

你需要將數據轉換爲標準之前存儲在字典(如下)。在存儲之後,無法在字典集內搜索不區分大小寫的內容,因爲此搜索是通過散列進行的。