序列
列表
-
列表的定义 List(列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组
专门用于存储 一串 信息
列表用 [ ] 定义,数据 之间使用 , 分隔
列表的 索引 从 0 开始
索引 就是数据在 列表 中的位置编号,索引 又可以被称为 下标
注意:从列表中取值时,如果 超出索引范围,程序会报错 -
创建列表
语法: 列表名 = [ 元素1,元素2,元素3.....]
# 列表的创建
list1 = [] # 空列表
print(list1)
print(type(list1))
list2 = [1, 2, 3, True, False, 'hello']
print(list2)
list3 = list() # 类型转换:把参数转换为列表
print(list3)
list3 = list('12345678') # 类型转换:str-->list
print(list3)
- 列表的加法
# 列表的加法和乘法
print(list3 + list2)
print(list3 * 3)
- 列表的遍历
- 遍历 就是 从头到尾 依次 从 列表 中获取数据
- 在 循环体内部 针对 每一个元素,执行相同的操作
# 列表的遍历
for i in list2:
print(i)
for i,j in enumerate(list2): # 枚举
print(i,j)
for i in range(len(list2)):
print(i,list2[i])
- 列表的常用方法method 变量.方法名()
# 添加元素
list3.append('666')
print(list3)
# 添加列表
list3.extend([1, 2, 3])
print(list3)
# 插入元素
list3.insert(2,'hello')
print(list3)
# 根据索引删除元素
list3.pop(3)
print(list3)
# 根据元素删除
list3.remove('7')
print(list3)
list3.append('hello')
print(list3)
list3.remove('hello')
print(list3)
# 清空列表
list3.clear()
print(list3)
- 计算若干个人的平均年龄
age = [10,20,30,40,23,45,78,43]
print(sum(age) / len(age))
元组
Tuple(元组)与列表类似,不同之处在于元组的 元素不能修改
元组 表示多个元素组成的序列
用于存储一串信息,数据之间使用 , 分隔
元组用 () 定义
- 元组的创建
# 元组的创建
tuple1 = (1, 2, 3, True, 'hello')
print(tuple1)
print(type(tuple1))
list1 = [1]
print(list1)
tuple2 = (1, ) # 元组里只有一个元素时,加一个逗号
print(tuple2)
print(type(tuple2))
tuple3 = tuple() # tuple():类型转换
print(tuple3)
print(type(tuple3))
tuple4 = ()
print(tuple4)
print(type(tuple4))
- 类型转换
# 类型转换
tuple5 = tuple('hello') # str-->tuple
print(tuple5)
tuple6 = tuple([1,2,3,4]) # list-->tuple
print(tuple6)
list1 = list(tuple6) # tuple-->list
print(list1)
str1 = str(tuple6) # tuple-->str
print(str1)
print(type(str1))
print(str1[2])
- 序列的通用操作
# 序列的通用操作
print('-'*30)
# 索引
print(tuple1[-1])
# 切片
print(tuple1[::-1])
# len
print(len(tuple1))
print(max(tuple6),min(tuple6))
# del
del tuple5
# print(tuple5)
# +
print(tuple1+tuple6)
# *
print(tuple1*3)
# in
print(1 in tuple1)
- 元组的常用方法
# 元组的常用方法
a = tuple1.count('hellwwwo')
print(a)
print(tuple1)
a = tuple1.index(2)
print(a)
- 元组的遍历
# 元组的遍历
print('-'*30)
for i in tuple1:
print(i)
for index,value in enumerate(tuple1):
print(index,value)
for i in range(len(tuple1)):
print(i,tuple1[i])
range
1. 系统提供的内建函数range(start,end,[step=1]),生成一个等差序列[start, end)
2. 注意序列属于不可变序列,不支持元素修改,不支持+和*操作。
3. range一般用于for-in循环遍历
原型:range([start, ]stop[, step])
- range(stop)
- range(start, stop)
- range(start, stop, step)
功能:生成列表 参数:
start:表示列表起始值,包含, 默认为0
stop:表示列表结束值,但是不包含
step:步长, 默认为1
# range(start, end, step)
print(list(range(10))) # end
print(list(range(2,10))) # start,end
print(list(range(2,10,3))) # start,end,step
- 高斯求和
# 高斯求和
total = 0
for i in range(1001, 10001, 2):
total += i
print(total)
- 水仙花数:三位数,每一位数字的立方和 = 三位数本身
# 水仙花数:三位数,每一位数字的立方和 = 三位数本身
# 123 1^3+2^3+3^3 = 123
for i in range(100,1000):
# a = i % 10 # 个位
# b = i % 100 // 10 # 十位
# c = i // 100 # 百位
t = str(i)
a = int(t[2])
b = int(t[1])
c = int(t[0])
if a**3+b**3+c**3 == i:
print(i)
字符串
-
字符串就是 一串字符,是编程语言中表示文本的数据类型。
-
在 Python 中可以使用 一对双引号 " 或者 一对单引号 ' 定义一个字符串。
-
字符串是以单引号或者双引号括起来的任意文本,也可以是以三引号'''或者"""引起来的任意文本。
-
字符串的遍历
# 字符串的遍历
for i in s1:
print(i)
for index,value in enumerate(s1):
print(index,value)
for i in range(len(s1)):
print(i,s1[i])
- 类型转换
# 类型转换
print(str(12),type(str(12))) # int-->str
print(str([1,2,3,4]), type(str([1,2,3,4]))) #list-->str
print(str((1,)),type(str(1,))) #tuple-->str
- 常用方法
# 常用方法
print(s1.islower())
print(s1.isupper())
print(s1.count('o'))
print(s1.strip())
print(s1.split(' ')) # 分隔字符串
print(s1.find('a'))
print('#$'.join(['111','222','333']))
- 字符串的统计
# 字符串的统计
s = input('请输入一篇文章:')
# 字母的个数、数字的个数、符号的个数
a,b,c = 0,0,0
for i in s:
if i.isdigit():
b+=1
elif i.isalpha():
a+=1
else:
c+=1
print(a,b,c)
- 索引
可以使用 索引 获取一个字符串中 指定位置的字符,索引计数从 0 开始。
字典
dictionary(字典) 是 除列表以外 python 之中 最灵活 的数据类型
字典同样可以用来 存储多个数据
通常用于存储 描述一个 物体 的相关信息
和列表的区别
列表 是 有序 的对象集合
字典 是 无序 的对象集合
字典用 {} 定义
字典使用 键值对 存储数据,键值对之间使用 , 分隔
键 key 是索引
值 value 是数据
键 和 值 之间使用 : 分隔
键必须是唯一的
值 可以取任何数据类型,但 键 只能使用 字符串、数字或 元组
- 字典的创建
# 字典的创建
d = {
'name':'mia', # 键值对
'gender':False,
'name':'jack' # 键重复的话,会覆盖掉之前的值
}
# 新增键值对
d['height'] = 170
print(d)
# 获取键值对
print(d['name'])
# 修改键值对
d['gender'] = True
print(d)
# del d
# print(d)
# in
print('name' in d)
- 字典的遍历
# 字典的遍历
for i in d:
print(i,d[i])
print('-'*30)
print(d.items())
for k,v in d.items():
print(k,v)
for k in d.keys():
print(k)
for v in d.values():
print(v)
- 字典的常用方法
# 字典的常用方法
d.pop('name')
print(d)
a = d.copy()
print('a的键值对',a)
print(d.get('gender'))
d.popitem()
d.popitem()
print('pop',d)
d.update({'age':18})
print('update',d)
d.clear()
print(d)
集合
不允许有重复元素,如果添加重复元素,则会自动过滤,可以进行交集、并集的运算。
是一种无序且无重复元素的数据结构
与dict类似,是一组key的集合(不存储value)
- 集合的创建
# 集合的创建
s = set()
print(s,type(s))
s = {1,2,3,4,1,2}
print(s,type(s))
s = set([1,2,3,1]) # list-->set
print(s)
s = set((1,2,3)) # tuple-->set
print(s)
s = set('123') # str-->set
print(s)
s = set({1:'a','a':2}) # dict-->set
print(s)
# in
print(1 in s)
# len
print(len(s))
print(min({1,2,3,4}))
# del s
# print(s)
- 集合的遍历
# 集合的遍历
print('-'*30)
for i in s:
print(i)
- 常用的方法
# 常用的方法
s.remove('a')
print(s)
s.update({2,3,4,5,6,7,6,5})
print(s)
s.add(9)
print(s)
s.add(1)
print(s)
- 交集 并集
# 交集 并集
s2 = {5,6,7,8,9}
print(s2)
print(s & s2)
print(s | s2)
- 列表去重
# 列表去重
score = [80,70,60,80,70,60,40]
s = set(score)
print(s)
d = {}
- 统计各个分数都有几个学生
# 统计各个分数都有几个学生
for i in s:
t = score.count(i)
d[i] = t
for k,v in d.items():
print('得分为%d的学生有%d个人' % (k, v))
- 可变类型 & 不可变类型
不可变数据类型在创建后,其值就不能被改变。
Python中的以下数据类型是不可变的:
- 数字(例如:int, float, complex)
- 字符串(例如:str)
- 元组(例如:tuple)
- 布尔类型(例如:bool)
可变数据类型的值可以在创建后被改变。Python中的以下数据类型是可变的:
- 列表(例如:list)
- 字典(例如:dict)
- 集合(例如:set)
知识总结
练习题
- 关于Python的列表,描述错误的选项是 D
A. Python列表是包含0个或者多个对象引用的有序序列
B. Python列表用中括号[]表示
C. Python列表是一个可以修改数据项的序列类型
D. Python列表的长度不可变的
- 以下选项中能输出随机列表元素最大值的是 C
A. print(listV.max())
B. print(listV.pop(i))
C. print(max(listV))
D. print(listV.reverse(i))
- 字典是另一种可变容器模型,( A )存储任意类型的对象。
A. 可 B. 不可 C. 不确定 D. 无法确定
- 以下关于字典的描述,错误的是 D A. 字典中元素以键信息为索引访问
B. 字典长度是可变的
C. 字典是键值对的集合 D. 字典中的键可以对应多个值信息
7. 阅读下面代码,输出结果( B )
dict={'a':1,'b':2,'c':3}
print(dict['b'])
A. 3
B. 2
C. 1
D. 0
8. 字典 d={'Name': 'Kate', 'No': '1001', 'Age': '20'},表达式len(d)的值为 D
A. 12
B. 9
C. 6
D. 3
9. 运行下方代码段,输出的是( B )。
a, b, str = 2, 5, 'independ'
print(str[a:b])
A.ep
B.dep
C.depe
D.ndep
10. s = " Python", 能够显示输出 Python 的选项是( D )。
A. print(s[0:-1])
B. print(s[-1:0])
C. print(s[:6])
D. print(s[:])