索引和切片:
索引:取出数组s中第3个元素:x=s[2]
切片:用极少的代码将数组元素按需处理的一种方法。切片最少有1个参数,最多有3个参数,演示如下:
我们假设下面所用的数组声明为array=[2,3,4,5,6]
1个参数:
- array[1:]——从下标为1的元素选择到最后一个元素,返回 [4,5,6]
- array[:3]——从下标为0的元素选择到下标为2的元素,不包括下标3的元素,返回[2,3,4]
- array[::2]——从下标为0的元素开始,最后一个%2为0的下标对应的那个元素为止
说明:如果前2个参数中有任何一个为负数,那么,分2种情况,如果负数 小于 -n,那么就给负数归0,如果仅仅在-n~0,那么就将这个数理解为0~n-1之间转圈圈就可以了。负数转圈的算法,很简单,就不说了
2个参数:
- array[1:-2]——从下标1开始,到下标(n-1)之前的所有元素,返回[3,4]
- array[-2:3]——当第一个参数经过计算大于等于后一个,返回空数组[]
- array[-13:3]——参见上面第一个说明,第一个参数归0,返回[2,3,4]
3个参数
- [::-1]——从头到尾,将数组反转,返回[6,5,4,3,2]
- [-1::-2]——从尾到头,每个一个元素,选择一个元素,返回[6,4,2]
说明:没有第3个参数时,切片只能从左向右,此时若第一个参数大于等于第二个参数,则返回空数组
说明:第三个参数<0时,切片方向可以被改变,此时没有上述限制
练习
s = 'Python最NB' #获取s字符串中前3个内容 print(s[:3]) #获取s字符串中第3个内容 print(s[2]) #获取s字符串中后3个内容 print(s[-3:]) #获取s字符串中第3个到第8个 print(s[2:8]) #获取s字符串中第2个到最后一个 print(s[1:]) #获取s字符串中第1, 3, 5个内容 print(s[0:6:2]) #获取s字符串中第2, 4, 6个内容 print(s[1:7:2]) #获取s字符串中所有内容 print(s[::]) #获取s字符串中第4个到最后一个, 每2个取一个 print(s[3::2]) #获取s字符串中倒数第5个到最开始, 每3个取一个 print(s[-5::-3])
字符串全部大写:
name = 'alex' new_name = name.upper() print(new_name) # 把这个字符串全部变成大写
字符串全部小写:
name = 'ALEX' new_name = name.lower() print(new_name) # 把这个字符串全部变成小写
首字母大写:
name = 'alexdasx' new_name = name.capitalize() print(new_name) # 首字母大写
以什么开头:
name = 'alex' new_name = name.startswith('a') if new_name: print('是以a开头') # 判断这是不是字符串是不是以a开头的
以什么结尾:
name = 'alex' new_name = name.endswith('x') if new_name: print('是以x结尾') # 判断这是不是字符串是不是以x结尾的
统计出现的次数:
name = 'alexdasx' new_name = name.count('a') print(new_name) # 统计name这个字符串中a出现的次数
查找下标:
name
=
'alexdasx'
new_name
=
name.find(
'e'
)
print
(new_name)
# 通过元素查找下标,不存在就返回-1
查找下标:
name = 'alexdasx' new_name = name.index('e') print(new_name) # 通过元素查找下标,不存在就报错