0

有人可以向我解释为什么当我尝试使用星号将解压缩的数据传递到打印函数时,可选参数“end”仅适用于最后一个列表的元素,其余的是默认值(空格)

l = ['a', 'b', 'c']
print(*l, end='-')

我期望a-b-c-而不是a b c-

4

2 回答 2

1

根据print()文档

将对象打印到文本流文件,以 . 分隔sep并后跟end.

所有非关键字参数都像 dos 一样转换为字符串str()并写入流中,由 分隔sep并后跟end

sep参数用于控制参数之间的分隔符printend只控制行终止符。

l = ['a', 'b', 'c']
print(*l, sep='-', end='-')
# a-b-c-
于 2018-12-23T14:04:56.373 回答
1

除了先前的答案,您可能会发现以下内容也很有用:

>>> l = ['a', 'b', 'c']
>>> print('-'.join(l) + '-')
a-b-c-
于 2018-12-23T14:10:29.873 回答