我有一个函数printListAsSentence(l)
,其中l
应该是list
。此函数应打印列表中以逗号分隔的项目,除非它是列表中的最后一个项目,否则应以句点结束。我原以为我可以用l[-1]
,但那不管用。以下是我的尝试:
def printListAsSentence(l):
for item in l:
if item == l[-1]: #This compares the value of the strings. Only will work if there is no duplicate values.
print(item + ".", end="")
else:
print(item + ",", end="")
举个例子:
names = ['rob', 'jack', 'rob']
printListAsSentence(names)
将输出:
"rob.jack,rob."
或许可以使用
join
:如果列表中的最后一个项有重复项,则您的尝试无效,因为您检查的是该项的值,而不是它在列表中的实际位置。您可以使用
enumerate()
来获取项目的索引及其值。你知道吗但是使用
join
的其他建议是更具脓性的解决方案。你知道吗您可以使用
join
在每个字符串之间放置一个,
,然后仅连接最后一个点:如果确实要手动循环,一种方法是使用
enumerate
:相关问题 更多 >
编程相关推荐