如何用Python split函数提取分隔字符串的首尾元素?
提取分隔字符串首尾元素生成新字符串
原代码尝试提取元素并拼接,但结果不符合预期:
",".join("one_two_three".split("_")[0:-1]) # 输出: 'one,two'
要实现提取第一个元素和最后一个元素并拼接成"one,three",且适配任意长度的分隔字符串,按以下方式修改:
- 先将字符串按
"_"拆分,得到完整的元素列表 - 直接提取列表的第0位(首元素)和倒数第1位(尾元素)
- 用逗号连接这两个元素
完整代码示例
# 定义目标字符串 target_str = "one_two_three" # 拆分字符串为列表 split_parts = target_str.split("_") # 提取首尾元素并拼接 result = ",".join([split_parts[0], split_parts[-1]]) print(result) # 输出: one,three
适配任意长度的测试情况
- 输入
"a_b",输出"a,b" - 输入
"x_y_z_w",输出"x,w" - 输入无分隔符的单元素字符串(如
"single"),会输出"single,single",若需避免这种情况,可添加判断逻辑(比如首尾元素相同时只保留一个)
内容的提问来源于stack exchange,提问作者Surender Raja
相关产品推荐
相关产品推荐

