模块 4 · 第 2 课(共 4)课程中的14/36~10 min
模块课程(2/4)
切片和索引
在Python中,字符串是字符序列:您可以访问
按索引提取单个字符并用切片切出子字符串
语法 [start:stop:step] — 与列表完全相同。
正负指数
Python
s = "Python"
# 0123456
# -6-5-4-3-2-1
s[0] # 'P'
s[5] # 'n'
s[-1] # 'n' (ultimo)
s[-2] # 'o' (penultimo)超出范围的访问会引发 IndexError。
切片 [start:stop:step]
Python
s = "Python"
s[0:3] # 'Pyt' indici 0,1,2 (stop ESCLUSO)
s[2:] # 'thon' dal 2 alla fine
s[:3] # 'Pyt' dall'inizio fino al 3 (escluso)
s[:] # 'Python' copia completa
s[-3:] # 'hon' ultimi 3
s[:-2] # 'Pyth' tutto tranne gli ultimi 2与索引不同,如果索引超出,切片不会引发错误 范围:它尽其所能。
第三个参数:step
Python
s = "Python"
s[::2] # 'Pto' salta uno sì uno no
s[1::2] # 'yhn' dispari
s[::-1] # 'nohtyP' INVERSIONE (idiom famoso)s[::-1] 是反转字符串的惯用方法。
长度和包容性
Python
len("Python") # 6
"th" in "Python" # True
"java" in "Python" # False负索引和切片步骤
切片的完整语法是s[start:stop:step]。如果省略 start 和 stop 但设置 -1 (s[::-1]) 的负值 step,则会反转字符串。负索引 -1 始终表示字符串的最后一个字符,-2 是倒数第二个字符,依此类推。
尝试一下
锻炼#python.m4.l2.e1
尝试:0加载中...
给定 `word = 'PROGRAMMAZIONE'`,在 `reversed_word` 中获取其反转。评估“reversed_word”。
正在加载编辑器...
显示提示
字[::-1]
3 次尝试后可用的解决方案
复习练习
锻炼#python.m4.l2.e2
尝试:0加载中...
给定 `email = 'ada@example.com'`,在使用 .find 找到索引后,使用切片将域('@'之后的所有内容)提取到 `domain` 中。评估“域”。
正在加载编辑器...
显示提示
电子邮件[email.find('@') + 1:]
3 次尝试后可用的解决方案
额外的挑战
锻炼#python.m4.l2.e3
尝试:0加载中...
给定字符串 \`word = "pythonista"\`,使用切片提取前 3 个字符和后 3 个字符,并将它们连接成一个新字符串 \`short_word\`。最后,评估“short_word”(它应该产生“pytsta”)。
正在加载编辑器...
显示提示
The first 3 characters are word[:3], the last 3 are word[-3:]. Concatenate the two slices.
3 次尝试后可用的解决方案