《xcj学pp》之数据容器(元组、字符串、集合、字典)

本文详细介绍了Python中的四种主要数据容器:元组、字符串、集合和字典。元组是不可变的有序数据集合,字符串是只包含字符的有序序列,集合是无序且不允许重复的数据集,而字典是通过键值对存储数据的可变容器。每种数据结构都有其特定的使用方法、操作方法及特点,如索引、合并、更新等。
摘要由CSDN通过智能技术生成

目录

元组

使用方法

方法

总结

字符串

使用方法

方法

总结

集合

使用方法

方法

总结

字典

使用方法

方法

总结

各个数据容器总结

序列(有序)

总对比


元组

使用方法

定义

#元组定义
t1 = (1, "go", True)
t2 = ()
t3 = tuple()
print(f"t1的类型{type(t1)}, 内容{t1}")
print(f"t2的类型{type(t2)}, 内容{t2}")
print(f"t3的类型{type(t3)}, 内容{t3}")

取出元素(索引)

t1 = (1, 2, 3)
print(t1[0])

t4 = ((1, 2, 3),(4, 5, 6))
print(t4[0][2])

方法

index查找某个数据,若存在返回其下标,否则报错
count统计某个数据在元组中出现次数
len(tuple)统计元组内的元素个数

总结

  1. 可容纳多个数据
  2. 可容纳不同类型的数据
  3. 数据是有序的(可使用下标索引)
  4. 允许数据重复存在
  5. 不支持修改(不可变)
  6. 支持for循环

PS:若tuple嵌套list,则这个list还是可变的,tuple(index(list))

字符串

使用方法

定义

#字符串定义
str1 = "I Love You"

取出元素(索引)

print(str1[0])

方法

index查找给定字符第一个匹配项的下标
replace(1, 2)将1换成2,不会修改原字符串,需要用新的变量来接收
split(str)按照给定的字符切割

strip()

strip(str)

删除首行和末尾的空格以及换行符

删除首行和末尾的指定字符串

count(str)统计字符串中某字符串的出现次数
len(str)统计字符串的字符个数

print(str1.index("You"))
#如果给的是字符串,则返回首个字符的下标
str2 = str1.replace("I", "Who")
print(str1, str2)
list1 = str1.split(" ")
print(list1)
str3 = "You Are So Beautiful"
print(str3)
str3.strip("You")
print(str3.count(" "))
print(len(str3))

总结

  1. 只能存储字符串
  2. 长度任意(取决于内存大小)
  3. 支持下标索引(有序)
  4. 允许重复字符串存在
  5. 不可以修改
  6. 支持for循环

集合

使用方法

定义 

使用大括号  {} 

因其无序性,无法适用下标索引

方法

#定义
set1 = {1, 2, 3}
set2 = {1, 2, 4}

#difference
set3 = set1.difference(set2)
print(set1)
print(set3)

#difference_update
set1 = {1, 2, 3}
set2 = {1, 2, 4}
set1.difference_update(set2)
print(set1)

#pop 返回被取出的元素
set2 = {1, 2, 4}
a = set2.pop()
print(a, set2)

#remove, 无返回值
set2 = {1, 2, 4}
a = set2.remove(2)
print(set2)
print(a)

#union
set1 = {1, 2, 3}
set2 = {1, 2, 4}
set4 = set1.union(set2)
print(set4)

总结

  1. 可以容纳多个元素
  2. 可以容纳不同类型的数据(混装)
  3. 数据是无序的(不支持下标索引)
  4. 不允许数据重复存在
  5. 可以修改(增加减少元素)
  6. 支持for循环

字典

使用方法

定义(包含嵌套定义)

#字典定义
dict0 = {}
dict_0 = dict()
print(dict0, dict_0)

dict1 = {"wu yan": 99, 1: 88, "八重神子":"my wife"}
print(dict1)
print(dict1["wu yan"], dict1[1], dict1["八重神子"])
#嵌套定义
dict2 = {"lhx":{
    "high":175,
    "weight":65,
    "IQ":9999999
}}
print(dict2["lhx"])
print(dict2["lhx"]['IQ'])

取出元素:无法索引,只能使用Key找到对应的Value

方法

#keys
dict1 = {"Me":1, "You":2, "He":3, "She":4}
keys = dict1.keys()
print(keys)
#更新/修改 字典
dict1["Me"] = 2
dict1["It"] = 5
#pop
a = dict1.pop("She")
print(dict1, a)
#clear
dict1.clear()
print(dict1)

#字典的两种遍历方法
dict1 = {"Me":1, "You":2, "He":3, "She":4}
for i in dict1:
    print(i,type(i))
keys = dict1.keys()
for key in keys:
    print(key,end='')
    print(dict1[key])

总结

  1. Key和Value可以是任意类型(Key不能是字典)
  2. Key不可以 重复,重复添加等同于覆盖原有数据
  3. 没有下标索引,只能用Key检索Value

各个数据容器总结

序列(有序)

列表

元组

字符串

序列切片:容器[Start:End:Length(步长)]

其中,End缺省表示到尾,不缺省不包含End,步长即走几步取一个

总对比

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值