python 元组、列表、字典

版权声明:孤 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"))

这里写图片描述

猜你喜欢

转载自blog.csdn.net/Wu000999/article/details/82587950