Python:我有正确的结果,但格式错误。用弦练习。知道怎么修吗?

Python:我有正确的结果,但格式错误。用弦练习。知道怎么修吗?,python,python-3.x,string,Python,Python 3.x,String,代码: 实际产量: def group_list(group, users): members = str(users).split() return group + ":" + str(members) print(group_list("Marketing", ["Mike", "Karen", "Jake", "Tasha"])) print(group_list("Engineering", ["Kim", "Jay", "Tom"])) print(group_list("U

代码:

实际产量:

def group_list(group, users):
  members = str(users).split()
  return group + ":" + str(members)

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:[]

你可能想要这个。我将简要总结一下它的作用

Marketing: Mike, Karen, Jake, Tasha
Engineering: Kim, Jay, Tom
Users:
显示:

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: 
用于将列表
users
中的一系列字符串与一个空格连接起来,在本例中,逗号后跟空格

为什么你的代码不起作用

', '.join(users)
str(用户)
返回
str
表示的
列表
,这意味着它字面上返回的字符串与以下内容类似(请注意,该字符串在字符串中嵌入了文字引号,并嵌入了方括号):

members = str(users).split()
    return group + ":" + str(members)
当您对此结果调用
.split()
时,
.split()
的默认行为是在空白处拆分,然后返回一个
列表
。这意味着我们将返回如下内容:

"['Mike', 'Karen', 'Jake', 'Tasha']"
我们看到这是一个
列表
,被方括号包围,
列表
包含一组短
str
对象:

["['Mike',",    "'Karen',",     "'Jake',",     "'Tasha']"]

代码中发生的下一件事是,我们尝试将成员
list
转换为
str
,方法是使用
str(members)
获取成员
list

的字符串表示形式,在您编写的
group_list
函数中,
users
是一个列表,因此运行
str users)
将标准列表格式(带括号)转换为字符串,然后用
.split()
(用于将字符串拆分为列表)用空格分隔。您要做的是使用
.join()
方法将输入列表中的所有元素合并为一个字符串

试试这个:

"['Mike',"
"'Karen',"
"'Jake',"
"'Tasha']"

以下是您可能正在寻找的内容:

    def group_list(group, users):
        # Join each element of users, separated by ', '
        output = group + ': ' + ', '.join(users)
        return output
您可以使用
join
轻松地连接数组项。我更喜欢使用str.format构建字符串,而不是使用“+”运算符连接它们

str.format:

str.join:

在问题中以正确格式的文本显示真实和预期的输出。真实输出在“输出是”之后,在打印行中“我们需要…”之后,隐藏在规则和社区后面,害怕承担责任。感谢您通过删除之前的6-7条评论来证明我的观点:)
def group_list(group, users):
  users_string = ", ".join(users)
  return "{}: {}".format(group, users_string)

print(group_list("Marketing", ["Mike", "Karen", "Jake", "Tasha"]))
print(group_list("Engineering", ["Kim", "Jay", "Tom"]))
print(group_list("Users", ""))