You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何通过字符串切片提取奇偶位置字符?附具体实例需求

用Python字符串切片提取奇偶位置字符

嘿,这个需求用Python的字符串切片就能轻松搞定,代码还特别简洁!先明确一个容易混淆的点:Python里字符串的索引是从0开始的,但你要的是日常语境里“第1、3、5...位(奇数位置)”和“第2、4、6...位(偶数位置)”,对应到索引上就是偶数索引和奇数索引啦。

直接上可以跑的代码,完全匹配你的示例需求:

# 定义目标字符串
original_str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

# 提取奇数位置的字符(从1开始数的第1、3、5...位)
odd_position_chars = original_str[::2]
# 提取偶数位置的字符(从1开始数的第2、4、6...位)
even_position_chars = original_str[1::2]

# 打印结果
print("奇数位置字符:", odd_position_chars)  # 输出 ACEGIKMOQSUWY
print("偶数位置字符:", even_position_chars)  # 输出 BDFHJLNPRTVXZ

为啥这么写?切片语法拆解

Python的切片格式是[起始索引:结束索引:步长],这里用到的是省略起始和结束索引的简化写法:

  • original_str[::2]:第一个空值表示从字符串开头(索引0)开始取,第二个空值表示一直取到字符串末尾,步长设为2意味着每隔1个字符取一个——正好拿到所有偶数索引的字符,对应你要的“奇数位置”;
  • original_str[1::2]:起始索引设为1,从第二个字符开始,步长同样是2,这样就拿到了所有奇数索引的字符,对应你要的“偶数位置”。

如果之后遇到类似的切片需求,只要调整起始索引和步长就能灵活变化,比如想从第3位开始取每隔2个字符,就用[2::2]就行~

内容的提问来源于stack exchange,提问作者Trikstar Pandora

火山引擎 最新活动