版权声明:孤 https://blog.csdn.net/Wu000999/article/details/82587950
元组
元组是python中常用的一种数据结构。元组有不同的元素组成,每个元素可以储存不同类型的数据。
元素创建后不能不能再做任何修改,但当一元素是可变的类型时,可以通过修改该可以类型以达到修改元素的目的
元组的创建(打包)
#元组
#元组的创建(打包)
print("-" * 10,"创建","-" * 10)
t1 = "hello","world"
t2 = ("hello","world")
print(t1,t2)
print(type(t1),type(t2))
#解包
print("-" * 10,"解包","-" * 10)
x,y = t1
print(x,y)
print(type(x))
元组是不可变的,但当某一元素是可变类型时,可以通过修改可变类型以达到修改元素的目的
#当元组的元素为可变类型
t1 = (1,2,3,[4,5,6])
print("初始为:",t1)
try:
print("t1[3] = [7,8,9]")
t1[3]=[7,8,9]
except:
print(t1)
print("此时是直接修改元组的元素,是不可以的")
#修改列表里的元素
print("-" *10,"修改列表里的元素","-"*10)
t1[3][0] = 7
t1[3][1] = 8
t1[3][2] = 9
print("t1[3][0] = 7")
print("t1[3][1] = 8")
print("t1[3][2] = 9")
print(t1)
元组的访问、遍历、切片
#元组的访问、遍历、切片
t1 = (1,2,3,4,"hello")
print("t1初始为:",t1)
print("通过索引访问t1[4]:",t1[4])
print("通过循环遍历:")
for i in t1:
print(i)
print("\n 切片")
print("t1[1:3] :",t1[1:3])
print("t1[0:4] :",t1[0:4])
列表
列表也是python中的一种常用数据结构,与元组相比,列表的元素的可变。python提供了很多的方法来对列表进行操作。
列表用 “[ ] “创建,支持切片和索引操作
#列表
l1 = [1,2,3,4,5,6]
l2 = ["hello","world"]
print("初始l1为: ",l1)
print("type(l1[0]): ",type(l1[0]))
print("初始l2为: ",l2)
print("索引访问l1[0]: ",l2[0])
print("type(l2[0]): ",type(l2[0]))
print("切片l1[2:6]: ",l1[2:6])
列表的操作方法
#列表的操作方法
lst = [1,2,3,4,5,6,7,8]
print("初始列表为:",lst)
#用append(object)在末尾添加元素
lst.append(20)
lst.append(30)
print("添加元素后:",lst)
#用insert(index,object)向列表中插入元素
lst.insert(3,30)
print("插入元素后: ",lst)
#用remove(object)删除元素,若有多个元素,删除靠前的一个
lst.remove(30)
print("删除元素后: ",lst)
#用pop(index)删除列表中索引为index的元素,如无index默认为最后一个
print("用pop()弹出最后一个元素: ",lst.pop())
print("弹出元素后: ",lst)
lst2 = ["hello","world"]
#用index(value,strat,stop)返回在strat与stop之间的value的索引
print("返回6的索引: ",lst.index(6))
#用sort()进行升序排序,sort()函数不会返回对象,会改变原有列表
lst.sort()
print("用sort()进行排序后: ",lst)
#用reverse()对列表进行反转,会改变原有列表,但不会返回对象
lst.reverse()
print("用reverse()进行反转后: ",lst)
#用+ 和 extend(iterable)进行列表连接,将iterable连接到指定列表的末尾
print("lst2列表为: ",lst2)
lst3 = lst + lst2
print("lst + lst2 : ",lst3)
lst2.extend(lst) #将lst加到lst2后面,但不返回对象,会改变lst2列表
print("lst2.extend(lst): ",lst2)
字典
字典是一种常用的数据结构,又称为关联数组。字典是由一系列的 “ 键-值”对组成,“键-值”对之间用 “ , ” 隔开,并且被包含在一对花括号中。
字典的创建、访问、遍历
#字典
#字典的创建
dt = {"a" : "apple",
"b" : "banana", #键区分大小写
"B" : "grape",
"c" : "orange"}
#字典的访问、遍历
print("直接输出: ",dt)
print("\n通过for in 来遍历:")
for k in dt: #变量k获取的是key值,通过dt[k]来获取value值
print("{} : {}".format(k,dt[k]))
#用items()遍历,items()返回一个若干元组组成的列表
print("\n通过items()来遍历:",dt.items())
print("\n用for (l,v) in 来遍历:")
for (l,v) in dt.items():
print("dt[%s] =" % l,v)
#字典只能通过key来获取value值
print("\n通过key来获取value值 dt[\"B\"]: ",dt["B"])
字典的方法
#字典的添加
dt = {"a" : "apple",
"b" : "banana",
"c" : "orange"}
print("初始字典:",dt)
dt["w"] = "watermelon" #添加w为键,watermelon为值
dt.setdefault("g","grape") #用setdefault(key,value)添加
print("添加后:",dt)
#字典的删除
del(dt["a"]) #删除字典中键为a的元素
print(dt.pop("b")) #用pop弹出,并会在原字典中删除
print("删除后:",dt)
#字典的修改
dt["g"] = "grapefruit"
print("修改后: ",dt)
#keys()返回键的列表,values()返回值的列表
print("\n用keys()输出键的列表:", dt.keys())
print("\n用values()输出值的列表:" , dt.values())
#用get(key,return)获取值,key为键值,return为key不存在时的返回值,默认为None
print("\nget(\"c\")获取:",dt.get("c"))
print("\nget(\"a\")获取:",dt.get("a"))