项目场景:
flags_list = [ '工程机械1', '工程机械2']
label1 = flags_list[0]
label2 = flags_list[1]
label3 = flags_list[2]
问题描述:
会报错:下标超出列表长度
IndexError: list index out of range
解决方案:
flags_list = ['工程机械1', '', '工程机械2']
flags_dict = dict(zip({i for i in range(len(flags_list))}, flags_list))
print(flags_dict)
label1 = flags_dict.get(0, '')
label2 = flags_dict.get(1, '')
label3 = flags_dict.get(2, '')
print(label1,label2, label3)
补充:
zip 的功能是将两个相同长度的iterable的对象压缩成一个
def zip_test():
a = [1,2,3]
b = ['a', 'b', 'c']
print(list(zip(a, b)))
print(dict(zip(a, b)))
print(tuple(zip(a, b)))
c = {'1': None, '2': None, '3': None}
d = ('a', 'b', 'c')
print(list(zip(c, d)))
print(dict(zip(c, d)))
print(tuple(zip(c, d)))
zip_test()
输出结果:
[(1, 'a'), (2, 'b'), (3, 'c')]
{1: 'a', 2: 'b', 3: 'c'}
((1, 'a'), (2, 'b'), (3, 'c'))
[('1', 'a'), ('2', 'b'), ('3', 'c')]
{'1': 'a', '2': 'b', '3': 'c'}
(('1', 'a'), ('2', 'b'), ('3', 'c'))