Python——zip的用法_list-dict复合字典+dict.get()函数用法

zip()函数的用法——list-dict复合字典

zip()函数,返回N个元组的迭代器,其中每个元组包含了N个序列里对应的元素。
zip()函数,接受多个序列,然后将每个序列对应位置的元素组织在一起组成一个新的元组,最后返回由这些元组组成的列表。它的长度有参数序列中最短的长度决定。举个栗子:

>>>zip([1,2,3],('a','b','c'))
>>>[(1,'a'),(2,'b'),(3,'c')]
# 定义一个list-dict的复合数组存放图像对应的标注员name、标注日期、相机类型、图像名称
"""
例如:
imgname_list = ['id1','id2','id3','id4','id5']
userlist = ['name1','name2','name3','name4','name5']
placelist = ['place1','place2','place3','place4','place5']
"""
xml_infos_zipped = zip(xml_paths_list, label_QC_staffs_list, label_QC_datetimes_list, xml_abspaths_list)

# 定义list-dict的复合字典,list中每个元素为一个dict,dict的key包括:xml_path,abel_QC_staff,label_QC_datetime,xml_abspath
xml_QCbaseinfo_compound_list = [dict(xml_path=xml_paths_i,label_QC_staff=label_QC_staffs_i,
                                   label_QC_datetime=label_QC_datetimes_i,xml_abspath=xml_abspath_i) 
                              for xml_paths_i ,label_QC_staffs_i,label_QC_datetimes_i,xml_abspath_i in list(xml_infos_zipped)]
# 将list-dict的复合字典转化为DataFrame格式
df_xml_QCtables = pd.DataFrame(xml_QCbaseinfo_compound_list)
>>>
[{
    
    'xml_path': 'f9183.xml',
  'label_QC_staff': 'lin',
  'label_QC_datetime': '2022.08.09',
  'xml_abspath': '/xml质控脚本/f9183.xml'},
 {
    
    'xml_path': 'e186b.xml',
  'label_QC_staff': 'lin',
  'label_QC_datetime': '2022.08.09',
  'xml_abspath': '/xml质控脚本/e186b.xml'}]

python dict.get()函数用法

作用

Python中的字典(Dictionary)是以键值对的形式存储数据的,get()方法可以返回指定键的值,如果该键不存在的话,返回默认值。

语法

dict.get(key, default=None)

参数

key:需要查找的键。 default:如果查找的键不存在的话,返回default的值。默认为None。

举例

dict = {
    
    "age":18,"weight":65}

print(dict.get("age"))

# 输出结果为:18

print(dict.get("height"))

# 由于字典dict中没有height这个键,返回的是默认值None。

print(dict.get("height",0))

# 将默认值改为0,输出结果为0

dict.get(key)和dict[key]的区别

dict.get(key)和dict[key]在key值存在的情况下,都能得到对应的键值。但是当使用dict[key]时,key必须要存在,否则会报错。但是dict.get[key]中的key可以不存在,因为get方法有一个默认的参数None,当key不存在的时候,返回None。

猜你喜欢

转载自blog.csdn.net/weixin_42782150/article/details/126857992