python - 基础 - 序列
1 增删查
arr1 = [1, 2, 3, "aaa"];
print(arr1);
#查询
print("arr1第1个元素为:" + str(arr1[0]));
#插入
arr1.insert(0, "bbb");
print("列表为:" + str(arr1));
#插入2, 直接插入在最后
arr1.append("ccc")
print("列表为:" + str(arr1));
#删除
del arr1[1];
print("删除第2个元素后列表为:" + str(arr1));
#删除2,类似于栈
obj1 = arr1.pop(0);
print("删除的元素为:" + obj1); #删除的是个字符串所以没事,如果是数字会报错,最好全加str()
print("删除后的列表为:" + str(arr1));
#删除3
obj1 = arr1.remove(3);
print("删除后的列表为:" + str(arr1));
2. 索引
java中数组的index,不过python的要更通用一些,除了上面提到的,还可以直接用于字符串等
print("1234"[2]); #输出3
index甚至可以是负数,从后往前计算
print("1234"[-2]); #输出3
可以理解为一个环,第一个是0,倒数第一个是-1,倒数第二个是-2
但是和环还是不同的,比如index = -5还是会越界的。
3. 分片
其实就是截取,索引是[index],分片是[begin, end] 取得 [begin, end) 前开后闭
print("123456789"[1:6]);#23456
"123456789"[1] = 2
"123456789"[6] = 7
分片也可以是负数,和index同理
print("123456789"[1:-1]);#输出2345678 这个可以从后向前截取,有时候很有用(比如去掉某些固定长度的后缀)。
从一个位置截取到最后:只需要空着第二个参数位置就可以了
print("123456789"[1:]);#输出23456789
也可以print("123456789"[1:9]); 或者更灵活点
print("123456789"[1:len("123456789")]);
len(e)是取e的元素个数(e如果是字符串就是取e的长度)
分片时还可以设置步长:比如隔一个取一个
print("123456789"[1:-2:2]);#输出246 [1:-2] 取出 234567 , 间隔2 取出 246
利用这个可以实现一些小功能,比如把一个数组变成奇数和偶数2个数组
intArr = [1,2,3,4,5,6,7,8,9,10]; intArr1 = intArr[0::2]; intArr2 = intArr[1::2]; print(intArr1); print(intArr2);
4. 序列计算
和字符串一样,序列也可以用+拼接
intArr1 = [1,3,5,7,9]; intArr2 = [2,3,4,5,6]; print(intArr1 + intArr2); #[1, 3, 5, 7, 9, 2, 3, 4, 5, 6]
保持顺序,可以重复。
相乘
intArr1 = [1,2,3]; print(intArr1 * 3); #[1, 2, 3, 1, 2, 3, 1, 2, 3]
字符串也可以这样
序列并没有除法和减法
5. in
判断元素是否在序列内
intArr = [1,2,3]; print(1 in intArr); #True print(4 in intArr); #False
6. 函数: len, max, min
print(len("243528")); #6 print(max("243528")); #8 print(min("243528")); #2
7. 函数list:把字符串变为序列, 可以用来修改字符串中某一个特定元素
str = 'hlllo world'; strList = list(str); strList[1] = 'e'; str = "".join(strList); print(str); #hello world
8.函数count,计算某个元素出现次数
arr = [1,2,3,4,4,3,3,2]; print(arr.count(3)); #3 str = 'hello world'; print(str.count("o")); #2
9.函数extend,扩展序列(序列后面拼接序列,序列a和b, a.extend(b) 相当于 a = a + b)
a = [1,2,3] b = [3,4,5] print(a + b); #[1,2,3,3,4,5] print(a); #[1,2,3] print(a.extend(b)); #没有返回值 print(a); #[1,2,3,3,4,5]
10.函数index,返回第一次出现的索引
a = [1,2,3,2,4] print(a.index(2));
如果搜不存的元素时会报错,所以使用前需要加判断
11.函数reverse,反向存放
a = [1,2,3,2,4] print(a.reverse());
12.函数sort,排序
a = [1,2,3,2,4] print(a.sort());