列表、元组、字典

#列表
# 1.作用按位置存放多个值
list1=[1,2.3,True,"yoona"]
print(type(list1))
# 2.类型转换: 能够被for循环遍历的类型都可以当做参数传给list()转成列表
res=list("haha")
print(res,type(res))
res=list({"name":"yoona","age":12})
print(res,type(res))
#3.内置方法
#3.1按索引取值
list1=[1,2.3,True,"yoona"]
res=list1[0]
print(res)
#3.2切片 顾头不顾尾
res=list1[0::2]
print(res)
res=list1[::-1]
print(res)
#切片相当于浅拷贝
list1=[0,2,[22,33]]
new_list1=list1[:]
print(new_list1)
print(id(list1[2]),id(new_list1[2]))
# list1[2]="yoona"
# print(list1[2],id(list1[2]))
# print(new_list1[2],id(new_list1[2]))
list1[2]=[66,99]
print(list1[2],id(list1[2]))
print(new_list1[2],id(new_list1[2]))
#3.3长度 len()
list2=[1,2,3,4,True]
res=len(list2)
print(res)
#3.4成员运算 in not in
print(2 in list2)
print(6 not in list2)
#3.5往列表中加值
#append 末尾加入
list2.append("yoona")
print(list2)
#insert 索引插入
list2.insert(0,"haha")
print(list2)
#extend 添加值
list1=[2,3]
list2.extend(list1)
print(list2)
list2.extend("hi")
print(list2)
#3.6 删除del pop remove
del list1
# print(list1)
res=list2.pop(0)#按索引删除 用pop获取删除的值


print(res)
res=list2.remove("yoona")#按值删除
print(list2)

#count index sort reverse clear
#队列 先进先出 堆栈 后进后出

#元组为一个不可变的列表,按索引进行存值,只读不改
#元组内 用逗号隔开任意类型的元素
t=(1,2,"yoona")
print(t,type(t))
#元组内只有一个元素必须加逗号
t=(1,2,"yoona")#t=(0-》值1的内存地址,1-》值2的内存地址,2-》值"yoona"的内存地址)
#类型转换 可以把字符串、列表、字典、转换成元组
#按索引取值、切片、长度、循环

#字典定义 在{}内用逗号隔开key:value
#value为任意类型 key为不可变类型
# 造字典的方式 有四种
#直接构造
dict1={"name":"yoona","age":23}
print(dict1,type(dict1))
#方式二 定义构造
dict2=dict(a=1,b=2,c=3)
print(dict2,type(dict2))
#方式三 定义类型转换
info=[["name","yoona"],["age",23],["gender","male"]]
dict3=dict(info)
print(dict)
# 造字典的方式四:快速初始化一个字典
# keys=['name','age','gender']
# d={}.fromkeys(keys,None) # 一行代码搞定上述for循环的工作
# print(d)
#4、内置方法
#优先掌握的操作:
#1、按key存取值:可存可取
# d={'k1':111}
# 针对赋值操作:key存在,则修改
# d['k1']=222
# 针对赋值操作:key不存在,则创建新值
# d['k2']=3333
# print(d)
#2、长度len
# d={'k1':111,'k2':2222,'k1':3333,'k1':4444}
# print(d)
# print(len(d))
#3、成员运算in和not in:根据key
# d={'k1':111,'k2':2222}
# print('k1' in d)
# print(111 in d)
#4、删除
d={'k1':111,'k2':2222}
# 4.1 通用删除
# del d['k1']
# print(d)
# 4.2 pop删除:根据key删除元素,返回删除key对应的那个value值
# res=d.pop('k2')
# print(d)
# print(res)
# 4.3 popitem删除:随机删除,返回元组(删除的key,删除的value)
# res=d.popitem()
# print(d)
# print(res)
#5、键keys(),值values(),键值对items() =>在python3中得到的是老母鸡
d={'k1':111,'k2':2222}
#需要掌握的内置方法
d={'k1':111}
#1、d.clear()
#2、d.update() #d.update({'k2':222,'k3':333,'k1':111111111111111})
# print(d)
#3、d.get() :根据key取值,容错性好
# print(d['k2']) # key不存在则报错
# print(d.get('k1')) # 111
# print(d.get('k2')) # key不存在不报错,返回None
#4、d.setdefault()
# info={}
# if 'name' in info:
# ... # 等同于pass
# else:
# info['name']='egon'
# print(info)
# 4.1 如果key有则不添加,返回字典中key对应的值
info={'name':'egon'}
res=info.setdefault('name','egon')
# print(info)
print(res)
# 4.2 如果key没有则添加,返回字典中key对应的值
info={}
res=info.setdefault('name','egon')
# print(info)
print(res)

原文地址:https://www.cnblogs.com/mayrain/p/12464572.html