Python 为什么字符串列表上的字符串连接函数似乎排除了列表中的最后一项?

Python 为什么字符串列表上的字符串连接函数似乎排除了列表中的最后一项?,python,string,list,join,Python,String,List,Join,为什么列表中的最后一个条目似乎并没有加入x a = ["apple","orange", "banana", "kiwi", "grapes", "lime"] print("x ".join(a)) 您的代码输出applex-orangex-bananax-kiwix图形,因此您可能会认为除了最后一个之外,每个图形都附加了x,但实际情况并非如此。它确实在

为什么列表中的最后一个条目似乎并没有加入x

a = ["apple","orange", "banana", "kiwi", "grapes", "lime"]
print("x ".join(a))
您的代码输出applex-orangex-bananax-kiwix图形,因此您可能会认为除了最后一个之外,每个图形都附加了x,但实际情况并非如此。它确实在列表的值之间放置了一个x

您可以将其视为在每个模式之间添加模式,然后使用空字符串连接

a = ["apple", "x ", "orange", "x ", "banana", "x ", "kiwi", "x ", "grapes", "x ", "lime"]
print("".join(a)) # applex orangex bananax kiwix grapesx lime
这里有一些更容易理解的例子

print(" ".join(a)) # apple orange banana kiwi grapes lime
print("-".join(a)) # apple-orange-banana-kiwi-grapes-lime
您的代码输出applex-orangex-bananax-kiwix图形,因此您可能会认为除了最后一个之外,每个图形都附加了x,但实际情况并非如此。它确实在列表的值之间放置了一个x

您可以将其视为在每个模式之间添加模式,然后使用空字符串连接

a = ["apple", "x ", "orange", "x ", "banana", "x ", "kiwi", "x ", "grapes", "x ", "lime"]
print("".join(a)) # applex orangex bananax kiwix grapesx lime
这里有一些更容易理解的例子

print(" ".join(a)) # apple orange banana kiwi grapes lime
print("-".join(a)) # apple-orange-banana-kiwi-grapes-lime

.join的聪明之处在于,它将您的“joiner”插入到要加入的iterable中的字符串之间,而不仅仅是将您的joiner添加到iterable中每个字符串的末尾。这意味着,如果你通过一个大小为1的iterable,你将看不到你的木匠

>>> 'b'.join(['a'])
'a'
你可以用这个

[i+'x'表示a中的i]
.join的聪明之处在于,它将您的“joiner”插入到要加入的iterable中的字符串之间,而不仅仅是将您的joiner添加到iterable中每个字符串的末尾。这意味着,如果你通过一个大小为1的iterable,你将看不到你的木匠

>>> 'b'.join(['a'])
'a'
你可以用这个

[i+'x'表示a中的i]
这是因为您指定的值是分隔符。它放在列表元素之间。由于最后一个值不需要分隔符,因此不追加它。 您可以查看:了解更多信息

解决办法可以是:

打印。加入[e+x代表a中的e] 会发生什么

我们使用空格作为分隔符,但是在我们将它们放在列表条目之间之前,我们在列表a中的每个元素中添加一个x。 我使用内联for循环在一行中实现它。如果这看起来很奇怪,请考虑这个来源:

请注意,这意味着,空格不会附加到最后一项。如果要实现这一点,需要将空格移动到x之后:

打印。加入[e+x代表a中的e]
这是因为您指定的值是分隔符。它放在列表元素之间。由于最后一个值不需要分隔符,因此不追加它。 您可以查看:了解更多信息

解决办法可以是:

打印。加入[e+x代表a中的e] 会发生什么

我们使用空格作为分隔符,但是在我们将它们放在列表条目之间之前,我们在列表a中的每个元素中添加一个x。 我使用内联for循环在一行中实现它。如果这看起来很奇怪,请考虑这个来源:

请注意,这意味着,空格不会附加到最后一项。如果要实现这一点,需要将空格移动到x之后:

打印。加入[e+x代表a中的e]
感谢您的快速回复!!并指向w3schools链接。感谢您的快速回复!!并指向w3schools链接。