Python—容器

容器:用于存放多个元素的数据结构

1.创建:[]、list(其他容器)、[已有列表]* n

2.访问/修改

3.常用方法:

增加:append、insert、extend

删除:pop、remove、clear

sort、reverse、copy、index、count

一:列表list

Python中的列表类似C中的数组

优点:

1.列表中的元素可以是任意数据类型

2.列表中的长度可动态的添加或缩短

缺点:

1.内存开支上略逊于数组

2.频繁添加新元素会影响程序内存使用率

三种增加新元素的方式

1.append添加的元素会追加在当前数组的尾部

ls = [1,2,3,4]
ls.append(123)
print(ls)

[1, 2, 3, 4, 123]

2.insert插入元素,输入插入的位置和插入的数据(数据可以是任意类型)

ls = [1,2,3,4]
ls.insert(0,"哈哈")#在0位置插入“哈哈”
print(ls)

['哈哈', 1, 2, 3, 4]

3.合并extend

ls= [1,2,3,4]
ls1=["a","b","c","d"]
ls.extend(ls1)
print(ls)

[1, 2, 3, 4, 'a', 'b', 'c', 'd']

语法糖

ls =  [1,2,3,4]
ls1 =["ss"]
ls = ls + ls1
print(ls)

[1, 2, 3, 4, 'ss']

两种删除方法

 1.remove直接对可变序中的元素进行检索删除

ls =  [1,2,3,4,"ss"]
ls.remove("ss")
ls.remove(1)
print(ls)

[2, 3, 4]

2.pop是对可变序列中元素下标进行检索删除

ls =  [1,2,3,4,"ss"]#[0,1,2,3,4]按照这样的数列排序
ls.pop(0)
print(ls)

[2, 3, 4, 'ss']

清空命令

ls =  [1,2,3,4,"ss"]
ls.clear()
print(ls)

[]

访问元素

#当访问列表最后一个元素时,当列表长度为n时,最后的元素为n-1
ls = [1,2,3,4,4,5]
print(ls[len(ls)-1])#len(ls)用于测量容器的长度,len(ls)-1测出最后一个元素

5

修改元素

ls = [1,2,3,4,4,5]
ls[0]="ABC"#将0号元素“1”,修改为“ABC”
ls[1]="ABC"#将1号元素“2”,修改为“ABC”
print(ls)

['ABC', 'ABC', 3, 4, 4, 5]

排序

sort升序排列整型

ls= [1,22,3,4]
ls.sort()
print(ls)

[1, 3, 4, 22]

ls= [1,22,3,4,aa]
ls.sort()
print(ls)

    ls= [1,22,3,4,aa] #排序命令只能排同一个数据类型;aa
                  ^^

reverse降序排列整型

ls= [1,22,3,4]
ls.sort(reverse=True)
print(ls)

[22, 4, 3, 1]

查看序列在列表中的位置

ls = [1,2,3,4,5]
print(ls.index(1))#输入不是列表中的数会报错

0

二:元组

元组是一种不支持元素修改的特殊列表

tp=("www.qq.com","111.222.333")#元组tp使用()创建,列表ls使用[]创建
print(tp)

('www.qq.com', '111.222.333')
#可以访问元素
tp = (2,3,4,5,)
print(tp)
print(tp[0],tp[1])#访问第0元素,第1元素

(2, 3, 4, 5)
2 3

三:切片

  • start 是切片的起始位置,表示要从序列的哪个索引开始切片。默认值为0。

  • stop 是切片的结束位置,表示切片结束的索引,但不包括该位置的元素。默认值为序列的长度。

  • step 是切片的步长,表示每隔多少个元素进行切片。默认值为1。

切片默认从左往右切;当步长为负数的时候,则从大往小切

默认从左往右【起点:终点:步长】
tp=0,1,2,3,4,5
tp1=tp[1:3:1]#起点1,终点3(取不到3),步长1
print(tp1)

tp2=tp[0:4:2]
print(tp2)

tp3=tp[::1]#
print(tp3)

(1, 2)
(0, 2)
(0, 1, 2, 3, 4, 5)

在一个序列中(lsit,str,tuple)使用一些特殊方法提取一个子数列

a = [0,1,2,3,4,5,6,7,8,9]
	#-10-9-8-7-6-5-4-3-2-1
步长为负数时,前大于后才会切出

a[1:6:-1]

[]

a[6:1:-1]

[6, 5, 4, 3, 2]

步长为正数时,后大于前才会切出



当前面为负数的时候且没有步长切不出

a[0:8]

[0, 1, 2, 3, 4, 5, 6, 7]

a[-1:8]

[]

四:字典

set是一种特殊的dict,它是一种只有键没有字典。不可以重复出现的元素

st = {1, 2, 3, 4, 5}
# set是一种特殊dict,它是一种只有键没有值的字典,不可以重复命名
dc = {"姓名": "张三", "年龄": 18, "身高": 170, "体重": 60, }
print(dc["姓名"])

张三
st = {1, 2, 3, 4, 5}
dc = {"姓名": "张三", "年龄": 18, "身高": 170, "体重": 60, }
print(dc.get(18))#如果键不存在会返回空值

None
st = {1, 2, 3, 4, 5}
dc = {"姓名": "张三", "年龄": 18, "身高": 170, "体重": 60, }
print(dc["姓名"])#如果键不存在会报错

张三

更改命令

st = {1, 2, 3, 4, 5}
dc = {"姓名": "张三", "年龄": 18, "身高": 170, "体重": 60, }
dc["姓名"]="坤坤"
print(dc)

{'姓名': '坤坤', '年龄': 18, '身高': 170, '体重': 60}

生成表格

dc = {"姓名": "张三", "年龄": 18, "身高": 170, "体重": 60, }
for (k,v) in dc.items():#items生成表格,以(k,v)的方式生成
    print(k,v)

姓名 张三
年龄 18
身高 170
体重 60

集合st

st和字典dict都是哈希结构数据 ,不支持序号访问

st={1,2,3,4}#集合st创建使用{}
print(st)
print(st[0])

{1,2,3,4}
    print(st[0])
          ~~^^^
TypeError: 'set' object is not subscriptable

集合的作用

1.取并集
ls1 = [1,2,3,4]
ls2 = [3,4,5,6]
st1=set(ls1)
st2=set(ls2)
st3=st1.union(st2)#union为和集
print(st3)

{1, 2, 3, 4, 5, 6}
2.取差集
ls1 = [1,2,3,4]
ls2 = [3,4,5,6]
st1=set(ls1)
st2=set(ls2)
st3=st1.difference(st2)#differenc不同的
print(st3)

{1, 2}
3.取交集
ls1 = [1,2,3,4]
ls2 = [3,4,5,6]
st1=set(ls1)
st2=set(ls2)
st3=st1.intersection(st2)#intersection相同的
print(st3)

{3, 4}
  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值