列表和索引出现错误,因为列表超出范围

时间:2018-11-23 12:05:20

标签: python listview indexing

尝试运行功能时出现错误。 我知道原因但我正在寻找一种解决方法。

list2=['name','position','salary','bonus']
list3=['name','position','salary']


def funtionNew(list):
    print(len(list))
    po= '{} {} {} {}'.format(list[0],list[1],list[2],list[3])
    print(po)


funtionNew(list3)

这样我就可以为list2做这个

po='{}{}{}{}'..format(list[0],list[1],list[2],list[3])

并使其成为list3

po='{}{}{}'..format(list[0],list[1],list[2])

2 个答案:

答案 0 :(得分:2)

从函数实现中看,您似乎试图用两个之间的空格连接列表项,所以可以尝试-

po=' '.join(list)

这与列表长度无关,但是您必须确保列表中的所有项目都是字符串。因此,您可以执行以下操作-

po = ' '.join[str(s) for s in list]

答案 1 :(得分:0)

尝试以下操作:

def funtionNew(list):
    print(len(list))

    string_for_formatting = '{} ' * len(list)
    po = string_for_formatting.format(*list)

    print(po)

这会根据您的列表的长度创建一个带有{}个变量的字符串,然后在列表中使用格式。星号*,解压缩列表中的元素,作为该函数的输入。