代码:
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:
在您编写的
group_list
函数中,users
是一个列表,因此运行str(users)
将标准列表格式(带括号)转换为字符串,然后用.split()
空格分隔(这意味着将字符串拆分为列表)。您要做的是使用.join()
方法将输入列表中的所有元素连接到一个字符串中试试这个:
你可能想要这个。我将简要总结一下它的作用
显示:
说明:
用于将列表
users
中的一系列字符串与间隔符连接起来,在本例中,逗号后跟空格为什么你的代码不起作用
str(users)
返回list
的str
表示形式,这意味着它实际返回的字符串类似于以下内容(请注意,该字符串在字符串中嵌入了文字引号,并嵌入了方括号:当您对此结果调用
.split()
时,.split()
的默认行为是在空白处拆分,然后返回一个list
。这意味着我们将返回如下内容:我们看到这是一个
list
,被方括号包围,并且list
包含一组短str
对象:代码中发生的下一件事是,我们尝试通过使用
str(members)
获取成员的字符串表示形式list
将成员list
转换为str
以下是您可能正在寻找的内容:
您可以使用
join
轻松地连接数组项。我更喜欢使用str.format来构建字符串,而不是使用“+”操作符来连接它们str.format:https://docs.python.org/3.4/library/string.html#formatstrings
str.join:https://docs.python.org/3.4/library/stdtypes.html#str.join
相关问题 更多 >
编程相关推荐