python 字符串索引取值的实现示例
作者:安迪python学习笔记
1. 字符串索引的定义
【定义】
字符串中的每一元素都有一个属于自己的编号,这个编号就叫索引。
【隐喻】
假设全班同学集体去旅游,住酒店时每个人一个房间,酒店的房间从左到右都有一个房间号。字符串的元素也一样,每个元素在计算机中都需单独住一个房间,只是在Python中我们给这个房间号起了另一个高大上的名字索引
。
字符串索引可以理解成字符串元素的房间号。
字符串索引=字符串元素房间号
【索引和房间号的区别】
房间号从1开始编号,索引从0
开始编号。
房间号没有负数,索引有正索引和负索引。
【知识扩充】
序列是一种可迭代的、元素有序的容器类型的数据。
序列包括列表(list)、字符串(str)、元组(tuple)和字节序列(bytes)等。
列表、元组都是Python的一种数据类型。
只要是序列就可以通过索引取值。
上述内容仅做了解,后面的课程会进行具体讲解。
2. 索引编号规则
2.1. ⚠️索引通常从0开始编号!
千万注意字符串第1个元素的索引为0
,不为1。
2.2 正索引
⚠️正索引从左往右开始编号,编号从0
开始!
2.3 负索引
⚠️负索引从右往左开始编号,编号从-1
开始!
3. 索引的取值
【语法】
字符串索引取值由3部分构成:
- 字符串变量名或者字符串本身。
- 英文中括号。
- 索引。
3.1 正索引取值
【索引0
取字符串的第1个元素】
# 将字符串Hello赋值给变量a a = 'Hello' # 取字符串的第1个元素 # 变量名a;英文中括号;索引为0 print(a[0])
【终端输出】
H
运行程序,终端输出字符串的第1字符H
。
【直接从字符串本身中取值】
print('Hello'[0])
【终端输出】
H
【索引1
取字符串的第2个元素】
# 将字符串Hello赋值给变量a a = 'Hello' # 取字符串的第2个元素 # 变量名a;英文中括号;索引为1 print(a[1])
【终端输出】
e
运行程序,终端输出字符串的第2字符e
。
【直接从字符串本身中取值】
print('Hello'[1])
【终端输出】
e
【索引4
取字符串的第5个元素】
# 将字符串Hello赋值给变量a a = 'Hello' # 取字符串的第5个元素 # 变量名a;英文中括号;索引为4 print(a[4])
【终端输出】
o
运行程序,终端输出字符串的第5字符o
。
【直接从字符串本身中取值】
print('Hello'[4])
【终端输出】
o
3.2 负索引取值
【索引-1
取字符串的最后一个元素】
# 将字符串Hello赋值给变量a a = 'Hello' # 取字符串的最后一个元素 # 变量名a;英文中括号;索引-1 print(a[-1])
【终端输出】
o
运行程序,终端输出字符串的最后一个字符o
。
【直接从字符串本身中取值】
print('Hello'[-1])
【终端输出】
o
【索引-2
取字符串的倒数第2个元素】
print('Hello'[-2])
【终端输出】
1
运行程序,终端输出字符串的倒数第2字符l
。
【直接从字符串本身中取值】
print('Hello'[-2])
【终端输出】
1
4. 取身份证号码中表示性别的数字
中国居民身份证号码中的倒数第2位代表性别。
倒数第2位为奇数代表男性。
倒数第2位为偶数代表女性。
取出代表性别的数字
# 将身份证号码赋值给变量id_card id_card = "533001199901013029" # 用负索引从id_card中取出代表性别的倒数第2位数字 print(id_card[-2]) # 用正索引从id_card中取出代表性别的第17位数字 print(id_card[16])
【终端输出】
2
2
5. 课后练习
题目要求:编写程序根据用户输入的身份证号码判定用户的性别。
【参考答案1】
# 用input函数从终端获取身份证号码 id_card = input("请输入18位身份证号码:") # 从字符串中取出代表性别的数字并赋值给变量sex # input函数得到的是字符串类型,因此我用int函数将其转换为整数类型,方便后面进行数学运算 sex = int(id_card[-2]) # 如果sex除以2余数不等于0,则sex为奇数,奇数代表男性 if sex%2 != 0 : print("性别:男") else: print("性别:女")
【终端输出】
性别:女
sex%2 != 0
表示变量sex除以2余数不等于0。!=
表示不等于。==
表示等于。
【参考答案2】
# 用input函数从终端获取身份证号码 id_card = input("请输入18位身份证号码:") # 从字符串中取出代表性别的数字并赋值给变量sex # input函数得到的是字符串类型,因此我用int函数将其转换为整数类型,方便后面进行数学运算 sex = int(id_card[-2]) # 如果sex除以2余数等于0,则sex是偶数,偶数代表女性 if sex%2 == 0 : print("性别:女") else: print("性别:男")
【终端输出】
性别:女
题目要求:从【牛奶:¥69,$10】句子中取出代表人民币和美元的符号。
上述语句的意思是牛奶的价格是69元或10美元。
- ¥是人民币符号。
- $是美元符号。
【参考答案】
# 将题目给的语句赋值给变量str_1 str_1 = "牛奶:¥69,$10" # 提取字符串的第4个字符,第4个字符索引为3 RMB = str_1[3] # 提取字符串的倒数第3个字符,并赋值给变量dollar dollar = str_1[-3] # 用print函数输出提取到的字符 print(RMB) print(dollar)
【终端输出】
¥
$
dollar[ˈdɒlə]:美元。
【备注】本文图片来自关东升的《看漫画学Python》。
6. 总结
到此这篇关于python 字符串索引取值的实现示例的文章就介绍到这了,更多相关python字符串索引取值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!