2024-09-30 01:19:21 发布
网友
除了最后一个使用“and”的连接列表的方式之外,最具python风格的方法是什么?在
["foo"] --> "foo" ["foo","bar"] --> "foo and bar" ["foo","bar","baz"] --> "foo, bar and baz" ["foo","bar","baz","bah"] --> "foo, bar, baz and bah"
尝试这样做,它会考虑到边缘情况并使用format()来显示另一个可能的解决方案:
format()
def my_join(lst): if not lst: return "" elif len(lst) == 1: return str(lst[0]) return "{} and {}".format(", ".join(lst[:-1]), lst[-1])
按预期工作:
这个表达式可以做到:
print ", ".join(data[:-2] + [" and ".join(data[-2:])])
如图所示:
基于这个有趣的评论。它假定要连接的列表的字符串条目中没有逗号(这无论如何都会有问题,这也是一个合理的假设)
def special_join(my_list): return ", ".join(my_list)[::-1].replace(",", "dna ", 1)[::-1] In [50]: def special_join(my_list): return ", ".join(my_list)[::-1].replace(",", "dna ", 1)[::-1] ....: In [51]: special_join(["foo", "bar", "baz", "bah"]) Out[51]: 'foo, bar, baz and bah' In [52]: special_join(["foo"]) Out[52]: 'foo' In [53]: special_join(["foo", "bar"]) Out[53]: 'foo and bar'
尝试这样做,它会考虑到边缘情况并使用
format()
来显示另一个可能的解决方案:按预期工作:
^{pr2}$这个表达式可以做到:
如图所示:
^{pr2}$基于这个有趣的评论。它假定要连接的列表的字符串条目中没有逗号(这无论如何都会有问题,这也是一个合理的假设)
相关问题 更多 >
编程相关推荐