Списки и индексы дают ошибку, потому что список вне диапазона - PullRequest
0 голосов
/ 23 ноября 2018

Я получаю сообщение об ошибке при попытке запустить свою функцию.Я знаю причину.но я ищу способ исправить это.

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 голосов
/ 23 ноября 2018

Из реализации функции кажется, что вы пытаетесь объединить элементы списка с пробелами между ними, поэтому вы можете попробовать вместо этого -

po=' '.join(list)

Это не зависит от длины списка, однако вы должны убедиться, чточто все элементы в списке являются строками.Таким образом, вы можете сделать следующее -

po = ' '.join[str(s) for s in list]
0 голосов
/ 23 ноября 2018

Попробуйте следующее:

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

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

    print(po)

Это создает строку с переменным числом {} терминов в соответствии с длиной вашего списка, а затем использует формат в списке.Звездочка *, распаковывает элементы вашего списка в качестве входных данных для функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...