一、数据容器入门
1. 数据容器:一种可以容纳多份数据的数据类型,容纳的每一份数据称之为一个元素。
每一个元素,可以是任意类型的数据,如字符串、数字、布尔等。
2 种类:list(列表)、tuple(元组)、str(字符串)、set(集合)、dict(字典)
二、数据容器:list(列表)
2.1 列表的定义
为什么需要列表?
思考:有一个人的姓名(TOM)怎么在程序中存储?
答:字符串变量
思考:如果一个班级100位学生,每个人的姓名都要存储,应该如何书写程序?声明100个变量吗?
答:No,我们使用列表就可以了, 列表一次可以存储多个数据
列表(list)类型,是数据容器的一类,我们来详细学习它。
总结:
2.2 列表的下标索引
2.3 列表的常用操作
列表除了可以:
定义
使用下标索引获取值
以外,列表也提供了一系列功能:
插入元素
删除元素
清空列表
修改元素
统计元素个数
等等功能,这些功能我们都称之为:列表的方法
age = [21, 25, 21, 23, 22, 20]
age.append(31)
print(age)
age.extend([29, 33, 30])
print(age)
x = age[0]
y = age[-1]
print(x, y)
a = age.index(31)
print(a)
三、list(列表)的遍历
3.1 列表的遍历 - while循环
3.2 列表的遍历 - for循环
L = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
l1 = list()
l2 = list()
i = 0
# 取出偶数
while i < len(L):
if L[i] % 2 == 0:
l1 . append(L[i])
i = i + 1
else:
i = i + 1
print(f"通过while循环,从列表:{L},中取出偶数,组成新列表{l1}")
for j in L:
if j % 2 == 0:
l2 . append(j)
print(f"通过for循环,从列表:{L},中取出偶数,组成新列表{l2}")
四、数据容器:tuple(元组)
总结:
T = ('周杰伦', 11, ['football', 'music'])
a = T.index(11)
n = T[0]
print(a,n)
del T[2][0]
T[2].append('coding')
print(T)
五、数据容器:str(字符串)
S = "itheima itcast boxuegu"
n = S.count("it")
print(f"字符串{S}中有{n}个it字符")
S1 = S.replace(" ", "|")
print(f"字符串{S},被替换空格后,结果{S1}")
L = S1.split("|")
print(f"字符串{S},按照“|”分割后,得到{L}")
六、数据容器(序列)的切片
6.1 序列
6.2 序列的切片
6.3 实践
S = "万过薪月,员序程马黑来,nohtyP学"
# 使用“切片”
new_S = S[9:4:-1]
print(new_S)
# 使用字符串常用操作
i = -9
S1 = S.replace("来", "")
S2 = S1.split(",")
print(S2)
new_S1 = S2[0][9:4:-1]
print(new_S1)
七、数据容器:set(集合)
my_list = ['黑马程序员','传智播客','黑马程序员','传智播客','itheima','itcast','itheima','itcast','best']
S = set()
for i in my_list:
S.add(i)
print(f"有列表:{my_list}")
print(f"存入集合后结果:{S}")
八、数据容器:dict(字典、映射)
8.1 字典的定义
8.2 字典的常用操作
D = {
"王力鸿":{"部门":"科技部","工资":3000,"级别":1},
"周婕纶":{"部门":"市场部","工资":5000,"级别":2},
"凌俊杰":{"部门":"市场部","工资":7000,"级别":3},
"张雪有":{"部门":"科技部","工资":4000,"级别":1},
"牛德华":{"部门":"市场部","工资":6000,"级别":2}
}
keys = D.keys()
print(D)
for key in keys:
if D[key]["级别"] == 1:
D[key]["工资"] = D[key]["工资"] + 1000
print(D)
8.3 扩展:数据容器的对比总结
九、数据容器的通用操作
9.1 通用操作
9.2 拓展 字符串大小比较
十、综合案例
# 幸运数字6:
# 1. 输入任意数字,如数字8,生成nums列表,元素值为1-8,
# 2. 从中选取幸运数字(能被6整除)移动到新列表lucky
# 3. 打印nums和lucky
n = int(input("请输入您所想的数字:"))
i = 1
j = 0
nums = list()
lucky = list()
print(n)
while i <= n:
nums.append(i)
i = i + 1
print(f"nums列表为:{nums}")
for j in nums:
if j % 6 == 0:
lucky.append(j)
j = j + 1
print(f"lucky列表为:{lucky}")