我想获取一个值为'1222020'的特定值,该值以'Expiration'作为键: “到期”键可以放置在任何位置。
输入:
my_list=[{'Key': 'Expiration', 'Value': '12122020'}, {'Key': 'Name', 'Value': 'Config Test 2'}]
我的解决方案:
res = [sub['Value'] for sub in my_list if sub['Key'] =='Expiration' ]
print(res)
有时标签'Expiration'不存在。 如何处理并避免NoneType对象错误
答案 0 :(得分:0)
如果您可以像这样重新组织数据,
custom_dict = {'Expiration': '12122020', 'Name': 'Config Test 2'}
然后,您可以编写如下代码,
def get_key_value_from_dictionary_search(dict_data, key_search_phrase, value_search_phrase):
for k,v in dict_data.items():
if k is key_search_phrase and v is value_search_phrase:
return k, v
_k, _v = get_key_value_from_dictionary_search(custom_dict, "Expiration", "12122020")
print("Key : {}\nValue : {}".format(_k, _v))
答案 1 :(得分:0)
如果不存在somefile.csv.gz
键,则您的package main
import (
"bytes"
"compress/gzip"
"encoding/csv"
"fmt"
"io/ioutil"
)
func main() {
var buf bytes.Buffer
zipWriter := gzip.NewWriter(&buf)
csvwriter := csv.NewWriter(zipWriter) // <--- zip writer doesn't implement `io.writer`
csvwriter.Write([]string{"a", "b\"fwr", "c"})
csvwriter.Write([]string{"a", "e", "ww"})
csvwriter.Flush()
zipWriter.Flush()
zipWriter.Close()
fmt.Println(buf.Bytes())
zipReader, _ := gzip.NewReader(bytes.NewReader(buf.Bytes()))
d, err := ioutil.ReadAll(zipReader)
if err != nil {
fmt.Println("err", err)
}
fmt.Println(string(d))
}
评估为空列表。因此,如果仅检查一个空列表中的存在项,就会知道Expiration
是否从那里开始。
res