一、列表
List(列表)是Python中使用最频繁的数据类型,列表用[]标识。
a.列表可以包含任意内容:它支持数字,字符,字符串甚至可以包含列表,(即嵌套)
b.列表中的值的切割也可以用到变量[头下标:尾下标],就可以截取相应的列表,从左到右默认0开始,从右到左索引默认-1开始,下标可以为空表示取到头或尾。
c.加号+是列表连接运算符,星号*是重复操作。
d.里面的数据是可以增删改,是有序列表;数据可重复。
列表特征:有序列标 可以包含任意内容,可以重复。
列表的赋值(顺序赋值):listA=[A,B,C]
列表的取值:list[index] list[0:n] list[-n:-1]
修改列表中元素的值:list [index]=value
获取列表的长度:len(list)
列表中添加元素:list.appened(value)
列表中插入元素:list.insert(index,value)
删除列表中元素:list.remove(value)
删除列表中所有的元素:list.clear()dellist[:]
删除整个列表:dellist+号用于组合列表:listA+listB *号用于重复列表:listA*N
1.列表常用的内置方法:
list.appened(x):把一个元素添加到列表的结尾。
list.extend(u):添加指定列表的所有元素来扩充列表。
list.insert(x,u):x是元素位置,u是你要加入的值。
list.remove(x):删除列表中值为x的第一个元素,如果没有这样的元素,就回返回一个错误。
list.pop():删除最后一个元素:不指定索引,返回最后一个元素,元素随即从列表删除;删除指定位置的元素。
list.pop(i),i表示元素位置。
list.clear():移除列表中的所有项,等于del a[:]
list.index(x):列表返回列表中第一个值为x的元素的索引,如果没有匹配的元素就返回一个错误。
list.count(x):返回x在列表中出现的次数。
list.sort():对列表中的元素进行排序。
list.reverse():倒序列表中的元素。
list.copy():返回列表的赋值,等于a[:]
eg:a=[1,2,3,4,5,6,'this is a list',7,8]
#获取列表的长度
len(a)#获取第3个及3个后的值
print(a[3:])#获取第3个和第4个值
print(a[2:5]) #顾头不顾尾
#获取最后2个值
print(a[-2:])
输出结果:9
[4, 5, 6, 'this is a list', 7, 8]
[3, 4, 5]
[7, 8]
取值特点:
a.范围区间是,顾头不顾尾。
b.索引从0开始取值。
c.从右边开始数的话,索引是从-1开始的。
字符串和列表、元祖都支持以上的用法,叫截取,字典不支持。
#字符串
str="summer"
print(str[0])print(str[1])
打印值:
s
u
#元祖a=(1,2,3,4)
print(a[0])
print(a[1])
输出结果:1
2
二、元祖
元祖是另一个数据类型,用"()"标识。
a.内部元素用逗号隔开,数据类型不限。
b.不能二次赋值,相当于只读列表,不能进行增删改查。
c.其他用法类似于列表,也是有序列表。
eg:
a=(2,3,"小小")
a=(1,2,"杨洋")不能删除修改,只能获取数据,从索引0获取。
a[0]=2a[2]="小小"
三、字典
字典(dictionary)是除列表以外最常用的一种数据类型,字典用“{}”标识。
a.字典是无序的对象集合。
b.字典当中的元素是通过键来存取的,而不是通过偏移存取。
c.字典由索引(key)和它对应的值value组成,就是一对键值对。
字典的定义:dict {}
字典的特征:字典是无序的,key-value键值对形式,key值不重复
字典的赋值:dictA={keyA:valueA,keyB:valueB,keyC:valueC}
字典的取值:dictA[keyA] dictA.get(keyA)
字典的取键:dict.keys() key-value获取:dictA.items()
修改字典中元素的值:dictA[keyA]=value
获取字典的长度:len(dictA)
字典中添加元素:dictA[key_new]=value
删除字典所有元素:dictA.clear()
删除整个字典:deldictA
删除字典的某个键:dict.pop("keyA")
字典组合:dict(dictA,**dictB) dictA.update(dictB)
遍历字典:
方式一:
只对键的遍历:
for key in 字典变量名:
取值:字典变量名[key]
方式二:
对键值的遍历:
for key,value in 字典变量名.items():
key:键
value:值
注意:在迭代过程中,字典中的键和值都保证能被处理,但是处理顺序不定。
eg:
#encoding:utf-8#@Time:2019/4/2 0:00#@Author:sunny
dict1={"name":"小小","gender":"girl","hobby":"singing"}
dict2={"others":"shopping"}print(dict1["name"])print(dict1.get("gender"))print(dict1.keys())print(dict1.items())
dict1["name"]="哈哈"
print(dict1["name"])print(len(dict1))
dict1["age"]=18
print(dict1)
dict3=dict(dict1,**dict2)print(dict3)
dict4=dict1.update(dict2)print(dict4)
输出结果:
小小
girl
dict_keys(['name', 'gender', 'hobby'])
dict_items([('name', '小小'), ('gender', 'girl'), ('hobby', 'singing')])
哈哈3{'age': 18, 'name': '哈哈', 'gender': 'girl', 'hobby': 'singing'}
{'others': 'shopping', 'gender': 'girl', 'name': '哈哈', 'age': 18, 'hobby': 'singing'}
None
常用场景:
我们做HTTP请求的时候,传递测试数据,就会把测试数据报过在{}中,然后跟随URL一起传递过去。
eg:
dict={"name":"小小","age":18,"sex":"girl"}
输出两次的值:
{'name': '小小', 'sex': 'girl', 'age': 18}
{'sex': 'girl', 'age': 18, 'name': '小小'}