python3基础(四)-列表元组字典

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

猜你喜欢

转载自blog.csdn.net/u011635351/article/details/82875890