数组
friends = ["炮王1+","杰哥","彬彬","阿伟"]
和java不同,python并没有对数组中的数据类型进行限制,也就是说一个数组里的类型并不是统一的,你可以
someBody = ["阿兆","奇巴不发工资",3,"个月",false]
索引,数组的索引是从0开始的;
ss = someBody[2] //获取数组第二个元素赋值个给ss
比较特殊的是,如果索引使用负数,就是倒取,比如[-1]则是取倒数第一个
ss = someBody[-1] //取倒数第一个,你也可以理解为退无可退从后面来了
取数组的多个值
someBody[1:] //从索引1的位置开始,取索引1和之后的所有数据
someBody[1:4] //从索引1的位置开始,取索引1到索引3的所有数据,是的,不包含末尾数字的索引,经典含头不含尾
修改数组中的数据
修改指定索引数据
ss[1] = "王1+"
合并数组
nums = [1,2,3,4,5,6,7]
strs = ["a","b","c","d","e"]
nums.extend(strs)
//谁调用的谁排前面,并且谁调用的就改变谁,相当于在调用的数组后面加上了参数中的数组
nums["a","b","c","d","e",1,2,3,4,5,6,7]
在数组后追加数据
nums = [1,2,3]
nums.append(4)
在数组中插入数据
nums = [1,2,3,4]
nums.insert(1,"0") //在索引1位置插入0,同时所有其后的数据索引+1
nums[0,1,2,3,4]
移除指定索引的数据
nums.remove(1) //移除索引1的数据
移除数组最后一个数据
nums.pop()
nums.pop()
nums.pop()
['炮王1+', 1, False, '杰哥', '彬彬', '阿伟']
['炮王1+', 1, False, '杰哥', '彬彬']
['炮王1+', 1, False, '杰哥']
查询某一个元素在数组的哪个索引
jg = bodys.index("杰哥")
bodys.remove(jg)
统计某个元素在数组中出现的次数
boyds.count("彬彬")
将数组元素使用默认规则排序
bodys.sort()
将数组元素索引翻转(不是倒序排序)
bodys.reverse()
复制一个数组的全部 元素
bodys2 = boddys.copy()
一个测试
这里和java不一样,数组间进行=
的时候是引用传值
代码:
friends = ["炮王1+",1,False,"杰哥","彬彬","阿伟"]
friends2 = friends
print(friends)
print(friends2)
print("==========")
friends2.remove(1)
print(friends)
print(friends2)
print("==========")
friends3 = friends.copy()
friends3.pop()
print(friends)
print(friends3)
结果:
['炮王1+', 1, False, '杰哥', '彬彬', '阿伟']
['炮王1+', 1, False, '杰哥', '彬彬', '阿伟']
==========
['炮王1+', False, '杰哥', '彬彬', '阿伟']
['炮王1+', False, '杰哥', '彬彬', '阿伟']
==========
['炮王1+', False, '杰哥', '彬彬', '阿伟']
['炮王1+', False, '杰哥', '彬彬']
·这里有一点和java不一样·
可以看到,我们用f2=f1
然后我们再删除f2
中的数据,此时f1
的数据也跟着小时了,所以python的copy是用来创建一个副本的,并不能直接使用=
号替代
创建一个不可变数组(元组)集合
friends = (1,2,3,4)
print(friends)
print(friends[1])
print(friends[2])
这样创建出来的我们叫他tuple(元组)
,元数组,这样的数组不可改变。一旦尝试改变他,将会抛出异常
试着创建一个元组数组tuple[]
tuples = [(1,3),(5,7),(1,3,5),(2,4,6)]
print(tuples[1])
tuples.pop()
print(tuples)
out
(5, 7)
[(1, 3), (5, 7), (1, 3, 5)]
我们可以像操作普通数组一样操作他,也能crud,但是不能进一步操作元素的内部元素
,