二、python基础(2数据容器部分)

目录

一、python数据容器(列表)

1、列表 [ ] 定义

2、列表的方法

①、查询元素方法

②、修改元素方法

③、插入元素方法

④、追加元素方法

⑤、删除元素方法

⑥、清空列表方法

⑦、统计某元素在列表中的数量方法

⑧、统计列表中总共元素的数量

3、列表遍历

二、元组

1、元组()定义

2、元组的方法

①、查找某个数据 index()

②、统计某个数据在元组中出现的次数 count()

③、统计元组内的元素个数 len(元组)

3、元组的遍历

三、字符串

1、字符串的方法

①、查找特定字符串的下标索引值 index()

②、字符串的替换 replace

③、字符串的分割 split

④、字符串的规整操作(去前后空格)

⑤、字符串的规整操作(去前后指定字符串)

⑥、统计某个元素在字符串中出现的次数 count()

⑦、统计字符串长度 len(字符串)

四、数据容器(序列)的切片

1、正向

2、反向

五、集合(不支持元素重复) {}

1、集合的方法   

2、集合的遍历

六、字典

1、根据key找到value值

2、字典的嵌套

3、字典操作

七、容器通用功能


一、python数据容器(列表)

1、列表 [ ] 定义

name=["gg",56,89.63]
for i in name:
   print(i)
  • 列表中存储的数据类型不限制,列表也可以嵌套定义
name=[[1,2,"jjj"],"京津冀",55,66.8]
  • 列表下标从左向右取,就是从0开始;
  • 列表下标从右往左取,就是从-1开始,-2  -3 ……
  • 嵌套列表和二维数组一样
name=["gg" , 56 , 89.63 , ["hh",42]]
print(name[2])
print(name[-4])
print(name[3][0])
print(name[-1][-1])


#输出结果为:89.63
#          gg
#          hh
#          42

2、列表的方法

①、查询元素方法

  • 查找某元素的下标   
  • 语法:    列表.index(元素)     
  • 如果找不到,就报错ValueError
name=["发发发",45,65.2]
print(name.index(45))
print(name.index(45.2))
# 输出结果:1
# ValueError: 45.2 is not in list

②、修改元素方法

  • 修改特定下标的元素值
  • 语法:   列表[下标] = 值
name=["发发发",45,65.2]
name[0] = 5
print(name)

③、插入元素方法

  • 语法: 列表.insert(下标 , 元素)    在指定的下标位置,插入指定的元素
name=["发发发",45,65.2]
name.insert(1,"好好")
print(name)
# 输出结果:['发发发', '好好', 45, 65.2]

④、追加元素方法

  • 语法: 列表.append(元素)   将指定元素 追加到列表的尾部
name=["发发发",45,65.2]
name.append("好好好")
print(name)
# 输出结果:['发发发', 45, 65.2, '好好好']
  • extend方法,追加一个列表
name=["发发发",45,65.2]
name.extend(["好好好",44])
print(name)
# 输出结果:['发发发', 45, 65.2, '好好好', 44]

⑤、删除元素方法

  • 语法1:del 列表[下标]
  • 语法2:列表.pop(下标)
name=["发发发",45,65.2]
# del name[0]
name.pop(0)
print(name)
  • 删除某元素在列表中的第一个匹配项         列表.remove(元素)
name=["发发发",45,3,65.22,3]
name.remove(3)
print(name)
# 输出结果:['发发发', 45, 65.22, 3]

⑥、清空列表方法

  • 语法: 列表.clear()
name=["发发发",45,3,65.22,3]
name.clear()
print(name)
# 输出结果:[]

⑦、统计某元素在列表中的数量方法

  • 语法: 列表.count(元素)
name=["发发发",45,3,65.22,3]
print(name.count(3))
# 输出结果:2

⑧、统计列表中总共元素的数量

  • 语法: len(列表)
name=["发发发",45,3,65.22,3]
print(len(name))
# 输出结果:5

3、列表遍历

def hh():
    my = [1, 56.3, "kk"]
    i=0
    while i < len(my):
        print(my[i])
        i+=1
hh()

def kk():
    my =[1,542,"jj"]
    for i in range(0,len(my)):
        print(my[i])
kk()

def ll():
    my=[12,56,"oo"]
    for i in my:
        print(i)
ll()

二、元组

1、元组()定义

  • 元组一旦定义,便不可再修改,可以修改内部list 的内部元素
  • t = (1,2,"可可可",54.2)
  • t = tuple()
  • 定义单个元素 t = (1,)  后面一定要有个,

下标取出内容:

a = ((1,2,3),(5,6,9))
print(f"{a[1][-1]}")
# 输出 9

2、元组的方法

①、查找某个数据 index()

a = ((1,2,3),(5,6,9),"公告",56.3)
print(a.index(56.3))

②、统计某个数据在元组中出现的次数 count()

a = (1,2,3,5,6,9,"公告",56.3,5)
print(a.count(5))

③、统计元组内的元素个数 len(元组)

a = (1,2,3,5,6,9,"公告",56.3,5)
print(len(a))

3、元组的遍历

a = (1,2,3,5,6,9,"公告",56.3,5)
# while 循环
i=0
while i<len(a):
    print(a[i])
    i+=1
#for 循环
for i in a:
    print(i)

三、字符串

  • 字符串不可修改
  • str = "dddddd ddd gg"

1、字符串的方法

①、查找特定字符串的下标索引值 index()

str = "ggg sdf  abc jk"
print(str.index("jk"))
# 输出结果为13

②、字符串的替换 replace

  • 语法:  字符串.replace(字符串1,字符串2)
  • 功能:将字符串1替换为字符串2
  • 不是修改字符串,而是得到一个全新的字符串
str = "ggg sdf  abc jk"
s1=str.replace("ggg","hjk")
print(s1)
# hjk sdf  abc jk

③、字符串的分割 split

  • 语法:字符串.split(分隔符字符串)
  • 功能:按照指定的分隔符字符串,将字符串划分为多个字符串,并存入列表对象中
  • 字符串本身不变,而是得到了一个列表对象
str = "ggg sdf abc jk"
s=str.split(" ")
print(s)
# ['ggg', 'sdf', 'abc', 'jk']

④、字符串的规整操作(去前后空格)

  • 语法:字符串.strip()
str = "    ggg sdf abc jk  "
print(str.strip())
# ggg sdf abc jk

⑤、字符串的规整操作(去前后指定字符串)

  • 语法:字符串.strip(字符串)
str = "ggg sdf abc jkg"
print(str.strip("g"))
# sdf abc jk

⑥、统计某个元素在字符串中出现的次数 count()

str = "ggg sdf abc jkg"
print(str.count("g"))
# 4

⑦、统计字符串长度 len(字符串)

str = "ggg sdf abc jkg"
print(len(str))
# 15

四、数据容器(序列)的切片

  • 切片:从一个序列中,取出一个子序列
  • 语法:序列[起始下标:结束下标:步长]
  • 起始下标:从何处开始,可以留空,留空表示从头开始
  • 结束下标:(不含)表示从何处结束,可以留空,留空视为截取到结尾
  • 步长表示,依次取元素的个数
  • 步长1:一个个取元素
  • 步长2:每次跳过1个元素取
  • 步长n:每次跳过n-1个元素取
  • 步长为负数,反向取(起始下标和结束下标也要反向标记)
  • 不会影响序列本身,而是生成一个新序列

1、正向

# 对list切片 从1开始,4结束,步长1
a=[0,1,2,3,4,5,6]
s=a[1:4:1]
print(s)
# 结果:[1, 2, 3]

# 对tuple切片,从头开始,到最后结束,步长1
a=(0,1,2,3,4,5,6)
s=a[::1]  #  s=a[:]
print(s)
# 结果(0, 1, 2, 3, 4, 5, 6)

# 对str切片,从头开始,到最后结束,步长2
a="0123456"
s=a[::2]
print(s)
# 结果 0246

2、反向

# 对str切片,从头开始,到尾结束,步长-1
a="0123456"
s=a[::-1]
print(s)
# 结果 6543210

# 对列表切片,从3开始,到1结束,步长-1
a=[0,1,2,3,4,5,6]
s=a[3:1:-1]
print(s)
# 结果[3, 2]

#对元组切片,从头开始,到尾结束,步长-2
a=(0,1,2,3,4,5,6)
s=a[::-2]
print(s)
# 结果(6, 4, 2, 0)

五、集合(不支持元素重复) {}

  • a={1,2,3,4,5,6,}
  • a=set()
  • 不支持下标索引访问

1、集合的方法   

  • 添加       集合.add(元素)
  • 移除       集合.remove(元素)
  • 随机取出     集合.pop()
  • 清空集合     集合.clear()
  • 取两个集合的差集     集合1.difference(集合2)   1里面有,2里面没有
  • 消除两个集合的交集  集合1.difference_update(集合2)  在集合1里,删除和集合2相同的元素
  • 2个集合合并成一个  集合1.unior(集合2)  得到新集合
  • 统计集合元素数量     len(集合)

2、集合的遍历

不能用while循环,只能用for循环,因为集合不支持下标

六、字典

  • s = a{key : value, key : value}
  • s = a{}
  • s = dict()
  • 不允许key重复,不可以使用下标索引

1、根据key找到value值

h={"ff":45,"gg":65}
print(h["gg"])
# 65

2、字典的嵌套

h={
    "aa":{
        "语文":55,
        "数学":46
    },
    "ss":{
        "语文":78,
        "数学":98
    }
  }
print(h["aa"]["语文"])
# 55

3、字典操作

h={"aa":45,"ss":78,"dd":96}

# 新增  {'aa': 45, 'ss': 78, 'dd': 96, 'ff': 75}
h["ff"]=75
print(h)

# 更新  {'aa': 33, 'ss': 78, 'dd': 96, 'ff': 75}
h["aa"]=33
print(h)

# 删除  {'ss': 78, 'dd': 96, 'ff': 75}
h.pop("aa")
print(h)

# 清空  {}
h.clear()
print(h)
op={"aa":45,"ss":78,"dd":96}

# 获取全部key  dict_keys(['aa', 'ss', 'dd'])
print(op.keys())

#遍历字典1
keys=op.keys()
for key in keys:
    print(key+",",end='')
    print(op[key])
# aa,45
# ss,78
# dd,96

# 遍历字典2
for key in op:
    print(key+",",end='')
    print(op[key])
# aa,45
# ss,78
# dd,96

# 统计字典内的元素数量  3
print(len(op))

七、容器通用功能

  1. max 容器内最大元素
  2. min() 容器内最小元素
  3. len() 容器元素个数
  4. list() 转换为列表
  5. tuple() 转换为元组
  6. str() 转换为字符串
  7. set() 转换为集合
  8. sorted(序列,[reverse = True]) 排序,reverse=True 降序
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值