python中使用列表访问和在C和Java中就是类似于数组的访问,这里py使用
if __name__ == '__main__':
a=['a','b','c']
# 直接打印整个字符列表
print(a)
# for-each 循环遍历列表,
for item in a:
print(item)
#操作整数列表
b=[6,5,4,3,2,1]
# 直接打印整个列表
print(b)
# for-each 循环遍历列表,
for item in b:
print(item)
# 打印下标为0的a列表的元素
print(a[0])
末尾插入元素使用append函数
if __name__ == '__main__':
# 有一定元素的列表
a=[6,5,4]
# 空列表
b=[]
print("增加前,列表为" + str(b))
b.append(3);
print("增加3后的列表是"+str(b))
# 再增加两个元素2和1
b.append(2)
b.append(1)
print("再增加两个元素2和1之后,列表变成:"+str(b))
任意下标位置插入元素使用insert函数,制定index
位置和value
需要插入的元素
if __name__ == '__main__':
# 有一定元素的列表
a=[6,5,4]
print("增加前,列表为" + str(a))
# 下标为0的位置之前插入元素7
a.insert(0, 7)
print("增加7后的列表是"+str(a))
# 再增加两个元素2和1
a.insert(len(a)-1, 9)
print("再增加9之后,列表变成:"+str(a))
指定索引位置删除特定元素
if __name__ == '__main__':
# 有一定元素的列表
a=[6,5,4]
print(a)
del a[0]
print(a)
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)
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]
# 先查看a的内容顺序
print(a)
# sorted返回一个a的有序副本,不修改a
print(sorted(a))
# sort永久修改a
a.sort()
print(a)
if __name__ == '__main__':
# 有一定元素的列表
a=[23,343,54643,123]
# 先查看a的内容顺序
print(a)
# 顺序颠倒
a.reverse()
print(a)
# 颠倒后再次颠倒就变成原来的顺序了
a.reverse()
print(a)
Python中使用-1索引访问是访问列表最后一个元素,-2是倒数第二个,-3是倒数第三个。代码从略。
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
的所有元素深度复制
字典就是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))
# 如果key不存在则自动创建一个,并且为改key对应的value赋值
# m2字典退化成为一个C中的数组了,因为是int对应int
m2[1]=10
m2[2]=20
print("m2 str = " + str(m2))
keys方法得到所有key的,values方法得到所有value,items方法得到所有的K-V键值对,del语句根据字典变量指定的key来删除KV键值对
字典的增加KV的方法在字典的基本性质里面有,就是上面的一个代码块👆
if __name__ == '__main__':
# 有一定元素的列表
m1={
'r':1,
'g':2,
'b':3
}
# keys方法得到所有key
for key in m1.keys():
print("key = " + str(key) + " , value = " + str(m1[key]))
# values方法得到所有value
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]))