第四章 python基础之list 元组 字典 及拷贝
Posted 测试的自我放逐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第四章 python基础之list 元组 字典 及拷贝相关的知识,希望对你有一定的参考价值。
------------恢复内容开始------------
1.列表list的常用方法:
list 的增删改查,建立空列表 如 cities = []
1)增加 append和insert方法
cities.append(‘北京‘) #在列表末尾增加一个元素(依次增加)
cities.insert(0,‘上海‘) #在指定的位置增加元素 角标从0开始
2)删除 pop,remove,clear和del方法
cities.pop(0) #删除指定位置的元素
cities.remove(‘北京‘)#删除指定的元素 不能指定位置
cities.clear() #清空list
del cities[-1] #删除指定位置的
3)修改
cities[1]=‘南京‘ #修改的时候如果指定的下标不存在,会报错
4) 查找 指定下标和index count(统计)
print(cities[0]) #指定位置的
print(cities.index(‘广州‘)) #获取元素的下标,如果找不到那个元素的话,会报错
print(cities.count(‘广州‘)) #查看元素在list里面出现了多少次
list排序相关的一些用法
1)列表元素反转 reverse()方法
print(my_list.reverse()) #就是把这个list反转一下 此次打印结果为 none 只排序无结果 无返回结果
print(my_list) # 打印反转后的结果
2)升序和降序 sort()方法
nums.sort() #排序,升序
nums.sort(reverse=True) # 降序 通过reverse方法
print(nums) # 数字和字母 字符串都可以排序
3)合并list
print(cities+cities2)#合并list 两个list相加
4)复制list
print(cities*3) #复制几次
print(‘哈哈哈‘*3)#字符串也可以复制
5)针对多维数组 可根据位置依次递进查找
例如:
words = [‘view‘,‘code‘,‘tools‘,[‘price‘,‘num‘,198,[‘hello‘,‘usa‘,‘吃鸡‘]] ] #二维数组
print(words[-1][-1][1]) #usa
names=[ [‘小黑‘,[‘小绿‘,138]],‘小红‘,[‘小紫‘,[‘小白‘]]]
len(username) 用来统计该变量的字符长度。
2. .list 切片(list的一种取值方式)
print(nums[1:3]) #顾头不顾尾
print(nums[1:]) #如果从某个下标开始取,取到末尾结束,那么末尾的下标可以省略不写
print(nums[:2]) #如果是从头开始取,取到后面某个下标结束,那么开头的下标可以不写
print(nums[:]) #取所有的
print(lis[::2]) #步长,隔几个取一次# 如果步长是正数的话,从左往右边开始取值
print(lis[::-2]) #步长,隔几个取一次# 如果步长是负数的话,从右边往左边开始取值
print(lis[::-1]) #反转list
print(lis)#所有值
print(lis[1::-1])# 取值为[2,1] *list[1’:2’:3’]取值先1’再3’最后2’的顺序规律
print(lis[:])#所有值
lis.reverse() #改变了原来list的值 reverse会将中的值反序写入
new_list = lis[::-1] #产生了新的一个list,不会改变原来list的值 会将新值写入new_list
3.元组tuple(元组也是一个list,他和list的区别是,元组里面元素无法修改)
#如果元组里面 只有一个元素的话,那么你必须在这个元素后面加一个逗号
t = (1,2,4,5,6,7) #用小括号括起来
words=(1,) #只有一个数字
words2=(‘abc‘,) #只有一个字符串
print(‘t‘,type(t)) #类型为tuple
print(‘words‘,type(words))
print(‘words2‘,type(words2))
print(t.index(2)) # 通过index()找到元素的下表
print(t.count(2)) #找到元素的个数
4. 字典dict(字典是通过key - value 形式存放数据的)
字典的优点 1、取数据方便2、速度快 格式如:infos = {‘name‘:‘张流量‘,‘sex‘:‘男‘,‘addr‘:‘火星‘,‘age‘:180}
查找
print(infos.get(‘phone‘))#取不到这个key的话,就是None
print(infos.get(‘phone‘,110))#如果取不到这个key的话,默认就是110 可以添加错误返回结果帮助查看。
print(infos[‘phone‘])#如果key不存在会报错(打印相应的value值)
#增
infos[‘phone‘]=13611087045 #增加一个key
infos.setdefault(‘小金库‘,‘2000w‘)
infos.setdefault(‘name‘,‘鹏妹妹‘) #如果key存在的话,不会修改原来key里面的值
infos[‘name‘]=‘鹏妹妹‘ #如果key存在的话,会修改原来key对应的value
# print(infos)
**字典是无序的
#修改
infos[‘name‘]=‘鹏妹妹‘ #直接指定key和value
#删除
# infos.pop(‘name‘) #指定key来删除
# infos.popitem() #随机删除一个key
# del infos[‘phone‘] #指定key来删除
# infos.clear() #清空字典
#方法
# print(infos.values())#获取到字典所有的value
# print(infos.keys()) #获取到字典所有的key
# print(infos.items()) # 获取字典所有的k-v
#直接循环一个字典的话,那么循环的是字典的key 如:
for p in people:
print(p)
for k,v in people.items(): #循环的时候,同时取key和value
print(k,‘======》‘,v)
print( ‘123456‘ in users ) #字典里面用in来判断的话,只是判断key是否存在
补存内容:
#浅拷贝 深拷贝
#浅拷贝内存地址不变 深拷贝内存地址改变
地址改变不一定是浅拷贝 如二维数组
l2 = l[:]#浅拷贝
l2 = copy.deepcopy()#深拷贝
l3 = l.copy() #浅拷贝
虽然内存地址 但不是深拷贝
copy.copy()#浅拷贝
以上是关于第四章 python基础之list 元组 字典 及拷贝的主要内容,如果未能解决你的问题,请参考以下文章
Python学习之路——Python基础之基本数据类型(列表元组和字典)
Python全栈自动化系列之Python编程基础(列表元组字典)
python基础之--元组(tuple),python小白必看!