Python:在区分列表中的最后一项时,如何将特定字符添加为将列表转换为字符串?
我想将列表转换为包含方括号和逗号的字符串,然后与另一个字符串连接Python:在区分列表中的最后一项时,如何将特定字符添加为将列表转换为字符串?,python,Python,我想将列表转换为包含方括号和逗号的字符串,然后与另一个字符串连接 Input: list1 = [1, 4, 3, 2, 5] str1 = 'is a list.\n' Expected output: [1, 4, 3, 2, 5] is a list. 我尝试的是这样的: path = [1, 4, 3, 2, 5] str1 = 'is a list.\n' ss = '[' for item in path: ss += str(item) + ',
Input:
list1 = [1, 4, 3, 2, 5]
str1 = 'is a list.\n'
Expected output:
[1, 4, 3, 2, 5] is a list.
我尝试的是这样的:
path = [1, 4, 3, 2, 5]
str1 = 'is a list.\n'
ss = '['
for item in path:
ss += str(item) + ', '
ss += '] ' + str1
print(ss)
但这会产生以下输出:
[1, 4, 3, 2, 5, ] is a list.
如何防止在转换过程中生成最后一个逗号“”
我正在考虑根据该项目是否是列表中的最后一个项目,采取特定的流程
但我怎么知道呢
或者还有其他解决办法吗
真的很感激 打印功能使用对象的
\uuuu str\uuuuu
或\uuuu repr\uuuu
魔术方法来渲染它们。知道您可以执行以下任一操作:
print(路径“是一个列表”)
或使用字符串格式:
print(f“{path}是一个列表。”)
这是一种糟糕的做法:
path = [1, 4, 3, 2, 5]
str1 = 'is a list.\n'
ss = '['
for i in range(len(Path)):
if i != (len(path)-1):
ss += str(path[i]) + ', '
else:
ss += str(path[i])
ss += '] ' + str1
print(ss)
一个好的方法是使用f字符串
print(f"{path} is a list.\n")
如果你不喜欢f字串,那么
print("{} is a list.\n".format(path))
这是不必要的。尝试打印
str(path)
的结果。您的预期输出也有试用逗号。是的,您的预期输出看起来与实际输出非常相似。如果您坚持手动执行此操作,则该方法可能会帮助您。。。i、 e.ss+=','。加入(str(项目)表示路径中的项目)
感谢您指出这一点。已更正。这很糟糕。用+
或+=
连接字符串是一种不好的方法,应该不惜一切代价避免。甚至没有说解决方案使用了多个反模式。是的,我知道。我想要这个实现的原因是需要将这个输出格式化为一个文件。很抱歉,我用我的手机做了这件事,我编辑了答案。print
实际上使用了\u str\u
,如果没有实现,则返回到\uuuu repr\uuuu
。编辑了我的答案