变量的个数超过列表长度,需要用列表中的值依次给变量赋值

本文介绍了如何解决Python中因下标超出列表长度引发的`IndexError: list index out of range`错误,通过示例展示了在列表为空时如何避免该错误。同时,详细解释了`zip`函数的功能,它能将多个可迭代对象组合成一个元组的列表,并给出了多个使用`zip`函数的例子,包括转换为字典和其他数据结构。
摘要由CSDN通过智能技术生成

项目场景:

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'))

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值