Python中实现列表/字符串反转后追加至末尾的专用函数是什么?
嘿,这个需求挺常见的!Python里并没有专门做这件事的内置函数,但咱们用切片语法就能轻松实现,不管是字符串还是列表都能搞定,而且代码超简洁。
先看你的示例场景:原序列加上反转后去掉第一个元素的序列(因为要避免和原序列最后一个元素重复)。
处理字符串
用切片[::-1]快速反转字符串,再拼接原字符串和反转后的子串:
string = "1234" result = string + string[::-1][1:] print(result) # 输出: "1234321"
解释下:string[::-1]把"1234"反转成"4321",[1:]截取从第二个字符开始的部分得到"321",和原字符串拼接就得到你要的结果。
处理列表
列表同样支持切片操作,逻辑和字符串完全一致:
lst = [1, 2, 3, 4] result = lst + lst[::-1][1:] print(result) # 输出: [1, 2, 3, 4, 3, 2, 1]
如果想原地修改原列表(而不是生成新列表),可以用extend方法:
lst = [1, 2, 3, 4] lst.extend(lst[::-1][1:]) print(lst) # 原列表被修改为目标结果
要是你偶尔需要的是原序列加上完整反转的序列(比如得到[1,2,3,4,4,3,2,1]或"12344321"),那更简单,直接写string + string[::-1]或者lst + lst[::-1]就行。
总的来说,Python的切片语法足够灵活,完全能替代“专用函数”的作用,一行代码就能解决你的需求~
内容的提问来源于stack exchange,提问作者Mark
相关产品推荐
相关产品推荐

