gpt4 book ai didi

python - 生成元素由标记分隔的字符串时避免键入冗余

转载 作者:行者123 更新时间:2023-11-30 23:44:04 26 4
gpt4 key购买 nike

假设我有一个单词列表,我想将它们全部打印出来,并用逗号和空格分隔。因此,举例来说,假设列表 l 包含项目 ['banana', 'apple', 'pear'] 并且我想生成字符串 “香蕉、苹果、梨”

现在,我用来解决问题的方法如下:

s = ""
s += l[0]
for i in range(1, len(l)):
s += ", %s" % l[i]

或者与上面非常相似的东西。问题是第 2 行的额外赋值看起来有点困惑和多余,因为它与第 4 行几乎相同,只是添加了一个逗号和一个空格。虽然这对于非常小的表达式来说并不是什么大问题,但是对于大的表达式来说,它可能会变得相当烦人和不愉快。例如,如果不是 l[0],我们可能有 foo(bar(l[0]) + foobar(l[0]) + ... ,它只是感觉必须在下面几行重复非常相似的语句是不对的。是否有更好的方法来实现所需的结果而不需要额外的冗余?这可能包括特定于 python 标准库的答案或可以的通用模式可跨多种语言使用。

最佳答案

在Python中,人们可以简单地写:

s = ', '.join(l)

例如:

>>> l = ['banana', 'apple', 'pear']
>>> ', '.join(l)
'banana, apple, pear'

This could include [...] a general pattern that could be used across multiple languages.

在其他语言中,我通常使用的模式如下(此处用伪 Java 表示):

for (int i = 0; i < l.length; i++) {
if (i != 0) {
s += ", ";
}
s += l[i];
}

这可以避免重复分配。

关于python - 生成元素由标记分隔的字符串时避免键入冗余,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10328938/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com