1、可变列表list,使用中括号[]表示
name=[1,2,3]
strlist=['a','b','c']
str=range(1,10) #左闭右开,包含左边不包含右边。这个函数是取1-10之间的数为一个数组。
1)、增加:
增加一个元素:name.append("a") #在列表后面追加一个元素
name.extend(strlist) #将一个列表strlist内的元素依次追加到另外一个列表name之后
name.insert(1,“a”) #在1号位插入字符'a',1号位原来的数据依次往后面移
2)、修改:
names[2]="mm" #根据下标位,修改一个元素
names.reverse() #将列表倒置,是直接修改列表
names.sort()排序,但是必须要确认数组当中的元素是同个类型的。这个是升序
如果要降序则在sort里面加个参数reverse=True,则names.sort(reverse=True)
3)、查找:
name[0] #通过下标位,可以获取列表当中的元素
in not in #查找一个元素在\不在一个数组当中
"mm" in names #返回True
"mm" not in names #返回False
names.index("mm") #index返回一个元素的下标位
names.count("mm") #count统计一个元素在数组中出现几次
4)、删除:
del names #删除定义的变量
del names[1] #删除数组当中的某个元素
deletedname=names.pop() #不能接参数,这个是删除列表的最后一个元素,并且返回这个元素
names.remove("mm") #删除一个具体的内容"mm",是内容而不是索引
2、不可变元组tuple,使用小括号()表示
跟列表是一样的,不同的是元组内的元素不能修改,而且元组是用小括号表示的。元组申明好了后长度就固定了,元组和列表里面的元素类型是可以不同的。
rang(1,10)是输出一个1-9的列表,在python2当中c=rang(1,10)会直接把结果列表赋值给c,而在python3中却变成懒加载了,也就是只有当真正执行的时候才会赋值给c
rang函数一定是从小到大的数字序列。
3、字典set:使用大括号{}表示
键-值
stus={"name":"zs","age":33,"sex":"女"}
stus['name']或者stus.get("name") #通过键来访问和修改值,这两个方法的区别是,第二个方法访问的键不存在的时候,是不会报错的。
stus['addr']='beijing' #如果addr键不存在则新增,存在则修改值。
"name" in stus #判断键是否在字典里面,name是key,而不是value,返回值为True或False
stus["name"] #如果返回有结果则代表有。name是key,而不是value,如果有,则返回对应的值,没有则会报错。
del stus #整个字典会删了
del stus["sex"] #只删除一个内容
4、小知识
names=["a","b","c","d"]
enumerate(names, 2) 枚举,将数组当中的元素枚举出来形成一个一个的元组,元组当中的索引则根据第二个参数来决定。
第一个参数是数组names,第二个参数是索引,如果不加,则代表索引从0开始输出,如果设置为2,则从数组中取出元数形成的元组索引则从2开始。
for i in enumerate(names):#for循环只有一个参数i
print(i)
#以上代表则依次输出元组,(0,'a')(1,'b')(2,'c')(3,'d')
for i, item in enumerate(names,1):#for循环有两个参数i和item
print(“i的值为%d,item的值为%s”%(i, item))
#以上两个参数,代表第一个参数为索引,第二个参数为值,所以enumerate可以同时读取出字典的索引和值
结果如下:
i的值为1,item的值为a
i的值为2,item的值为b
i的值为3,item的值为c
i的值为4,item的值为d
可变类型:list,字典,
不可变类型:数值、字符串,元组
list: names=[] name[0]=值
tuple: names=()
dict: names={} name[key]=值
作者:沧水巫云
博客:http://blog.csdn.NET/amir_zt/
以上原创,转载请注明出处,谢谢。
https://blog.csdn.net/amir_zt/article/details/82875890