Вы, вероятно, хотите этого. Я дам краткое резюме того, что это делает.
def group_list(group, users):
return group + ": " + ', '.join(users)
print(group_list("Marketing", ["Mike", "Karen", "Jake", "Tasha"]))
print(group_list("Engineering", ["Kim", "Jay", "Tom"]))
print(group_list("Users", ""))
Отображение:
Marketing: Mike, Karen, Jake, Tasha
Engineering: Kim, Jay, Tom
Users:
Объяснение:
', '.join(users)
Используется для объединения серии строк из списка users
с разделителем в в этом случае запятая с последующим пробелом.
Почему ваш код не работает?
members = str(users).split()
return group + ":" + str(members)
str(users)
возвращает str
представление list
, что означает, что оно буквально возвращает строка, которая выглядит следующим образом (обратите внимание, что строка содержит буквенные кавычки, встроенные в строку, а также квадратные скобки:
"['Mike', 'Karen', 'Jake', 'Tasha']"
Когда вы вызываете .split()
для этого результата, по умолчанию Поведение .split()
состоит в разделении на пустое пространство и возвращении list
. Это означает, что мы получаем что-то похожее на это:
["['Mike',", "'Karen',", "'Jake',", "'Tasha']"]
Мы видим, что это list
и окружено в квадратных скобках и что list
содержит несколько коротких str
объектов:
"['Mike',"
"'Karen',"
"'Jake',"
"'Tasha']"
Следующее, что происходит в вашем коде, это то, что мы пытаемся преобразовать элементы list
в str
с помощью str(members)
, чтобы получить строку repres представление членов list
.