一、列表
(1)下标访问和for-each访问
python中使用列表访问和在C和Java中就是类似于数组的访问,这里py使用
if __name__ == '__main__':
a=['a','b','c']
print(a)
for item in a:
print(item)
b=[6,5,4,3,2,1]
print(b)
for item in b:
print(item)
print(a[0])
(2)对列表进行CRUD
(Ⅰ)增加元素a
(a)append插入
末尾插入元素使用append函数
if __name__ == '__main__':
a=[6,5,4]
b=[]
print("增加前,列表为" + str(b))
b.append(3);
print("增加3后的列表是"+str(b))
b.append(2)
b.append(1)
print("再增加两个元素2和1之后,列表变成:"+str(b))
(b)insert插入
任意下标位置插入元素使用insert函数,制定index 位置和value 需要插入的元素
if __name__ == '__main__':
a=[6,5,4]
print("增加前,列表为" + str(a))
a.insert(0, 7)
print("增加7后的列表是"+str(a))
a.insert(len(a)-1, 9)
print("再增加9之后,列表变成:"+str(a))
(Ⅱ)删除
(a)del语句删除
指定索引位置删除特定元素
if __name__ == '__main__':
a=[6,5,4]
print(a)
del a[0]
print(a)
(b)pop函数删除元素
pop()和pop(index)重载,pop无参直接就是删除列表最后一个元素,pop(index)可以删除任意位置的元素
不列举代码了,省略不讲
if __name__ == '__main__':
a=[6,5,4,3,2,1]
print(a)
a.pop(0)
print(a)
a.pop()
print(a)
(c)remove根据列表中的值来删除元素
if __name__ == '__main__':
a=[6,5,4,3,2,1]
print(a)
a.remove(3)
print(a)
(Ⅲ)列表排序
sort永久修改,修改之后就是有序,sort返回一个有序副本
if __name__ == '__main__':
a=[6,5,4,3,2,1]
print(a)
print(sorted(a))
a.sort()
print(a)
(3)反转列表元素顺序
if __name__ == '__main__':
a=[23,343,54643,123]
print(a)
a.reverse()
print(a)
a.reverse()
print(a)
(4)Deep-Copy列表和列表切片
(Ⅰ)负数索引
Python中使用-1索引访问是访问列表最后一个元素,-2是倒数第二个,-3是倒数第三个。代码从略。
(Ⅱ)range函数的使用
range()函数: range(1,6)表示产生[1,6)之间的所有整数,注意,6那里是开区间,所以只有1~5!! range(1,100,2)表示产生1~99之间的数列,该数列公差为2,说白了就是先产生一个1,然后每次+2,加到最后那个数是小于100的最大整数。这里跟那个Matlab的语法很相似!!而且这里1只是代表了从1开始到小于100为止,你还可以从100开始,到-100也行,也就是range(100,-100,-1)也是没问题的!!,就是公差别写成1了,要写成-1,不然的话就返回空数列了!!
if __name__ == '__main__':
a=[23,343,54643,123]
for it in range(100,-100,-1):
print(it)
(Ⅲ)列表切片
list2 = list1[:] 表示整个列表深度复制,列表内容一样,列表元素的地址都不一样 list2 = list1[1:9 ]表示把list1从索引 为1 到索引 为8 的所有元素深度复制
list2 = list1[:3] 表示把list1从首元素到索引为2 的所有元素深度复制
二、字典(K-V-Mapping)
(1)字典的基本性质
字典就是C++中的map或者HashMap, 键值对,每一个唯一的Key对应一个不一定唯一的Value,也就是Key唯一,Value不一定唯一,在python中,字典就是这种关系的体现,KV之间以:为分隔符,比如
if __name__ == '__main__':
m1={
'r':1,
'g':2,
'b':3
}
m2 = {}
print("m1 str = "+str(m1))
print("m2 str = " + str(m2))
m2[1]=10
m2[2]=20
print("m2 str = " + str(m2))
(2)字典的3种遍历方法以及删除方法
keys方法得到所有key的,values方法得到所有value,items方法得到所有的K-V键值对,del语句根据字典变量指定的key来删除KV键值对 字典的增加KV的方法在字典的基本性质里面有,就是上面的一个代码块👆
if __name__ == '__main__':
m1={
'r':1,
'g':2,
'b':3
}
for key in m1.keys():
print("key = " + str(key) + " , value = " + str(m1[key]))
for val in m1.values():
print("value = " + str(val))
for k,v in m1.items():
print("key = " + str(k) + " , value = " + str(v))
print("删除一对键值对之后")
del m1['r']
for key in m1.keys():
print("key = " + str(key) + " , value = " + str(m1[key]))
|