目录
一、元组(tuple):
- 用来储存一串数据(字符串、数字、文本),和列表类似;
- 元组用()定义,用","隔开;
- 元组的索引默认从0开始的;
- 元组中的数据不可修改! (不支持增删改)
注:只有一个数据的时候,需要加“,”逗号。
格式:元组名 = (数据,) / 元组名 = (数据1,数据2,数据3, ...)
1.1 创建元组
t = (5,"tuple",22.2)
print(t)
# tuple()函数
t1 = tuple([5,11,"你"])
print(t1)
t2 = () # 空元组
print(type(t2))
t3 = (1,)
print(type(t3)) # 一个值后面有逗号是元组
t4 = (1)
print(type(t4)) #一个值后面没有逗号不是元组
t5 =tuple(range(1,10)) # range函数用法也是可以的
print(t5)
# 连接元组
print(t2 + ("连接",5,9))
print(t1 * 3)
元组是一种非常有个性的数据类型,不仅不允许修改其中的数据,还不允许删除其中某个单独的数据,除非用 del 把元组删掉。
2.元组查找
查找的方式跟列表是差不多的,通过索引、切片可以访问查找。
tup = (1,2,5.3,5,66,2,9,5.555,98,7)
请问tup[0]值: tup[2]值: tup[-1]值: tup[-2]值:
请问tup[:5]值: tup[2:7]值: tup[5:-1]值:
tup[3:]值: tup[::2]值: tup[1::2]值:
3.元组统计与计算
tup = (1,2,5.03,5,66,2)
print(max(tup)) # 1.获取最大值
print(min(tup)) # 2.获取最小值
print(len(tup)) # 3.计算列表长度
print(sum(tup)) # 4.统计列表的所有元素的和
print(tup.count(2)) # 5.统计数字2有多少次?
print(tup.index(2)) # 6.查找值数字2索引位置
if 数据 in 元组: # 检查元组中是否包含某元素
题1:数字转汉字
用户输入一个1~9(包含1和9)之间的任一数字,程序输出对应的汉字。
如输入2,程序输出“二”。可重复查询。
题2:假设10位评委的打分是99,80,86,89,94,92,75,87,86,95,
现需要运用Python语言进行编程实现:
去掉一个最高分,去掉一个最低分,计算平均分,并打印出来。打印格式为:
去掉一个最高分:XX分,去掉一个最低分:XX分,最后得分为:XX分
二、集合
集合(set): 一个无序的、不重复的序列。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
格式:sets = {值1,值2,值3,值4} / set()函数
2.1 创建集合
sets = {"dry1","baidu","taobao","123","123",12,36}
print(sets) #进行自动去重
s = set() # 空集合
print(s)
s1 = set("hello") # 一个字符串自动拆成单个字符
print(s1)
s2 = set("line row")
print(s2)
print(s1 - s2) # 输出集合s1有而集合s2没有的元素 差集
print(s1 | s2) # 输出集合s1 or s2 中有的元素 并集
print(s1 & s2) # 输出s1 and s2集合都有的元素 交集
print(s1 ^ s2) # 输出 集合不同时拥有的元素
2.2 集合的操作
格式:集合名.add(值/value)
add作用:将元素值添加到集合中,如果元素值已存在,则不进行任何操作。
s = {"dry1","baidu","taobao","123","123"}
s.add("tianmao")
print(s)
格式:集合名.update(值/value,列表,元组)
update作用:还有一个方法,也可以添加元素,且参数可以是列表,元组,字典等,值可以有多个,用逗号分开。
s.update({1,2,3})
print(s)
s.update(("sss",1),[5,6])
print(s)
格式:集合名.remove(值/value)
remove作用:且一次只能移除一个元素,如果元素不存在,则会发生错误
s.remove(1)
print(s)
格式:集合名.discard(值/value)
discard作用:移除集合中的元素,且如果元素不存在,不会发生错误。
s.discard("sss")
print(s)
s.clear()
print(s) # 清空集合值
格式:数据 in 集合
值 in 集合/元组/列表 作用:判断元素是否在集合中存在
a = 6 in s
print(a)
附件代码:
#元组
t = (5,"tuple",22.2)
print(t)
t1 = tuple([5,11,"你"])
print(len(t1))
t2 = ()
print(type(t2))
t3 = (1,)
print(type(t3)) # 一个值后面有逗号是元组
t4 = (1)
print(type(t4)) #一个值后面没有逗号不是元组
t5 =tuple(range(1,10))
print(t5)
#连接元组
print(t2 + ("连接",5,9))
tup = (1,2,5.3,5,66,2,9,5.555,98,7)
print(tup[0],tup[-1],tup[2])
print(tup[::])
print(max(tup)) # 1.获取最大值
print(min(tup)) # 2.获取最小值
print(len(tup)) # 3.计算列表长度
print(sum(tup)) # 4.统计列表的所有元素的和
print(tup.count(2)) # 5.统计数字5有多少次?
print(tup.index(2)) # 6.查找值数字5索引位置
#1.创建集合
sets = {"dry1","baidu","taobao","123","123",12,36}
print(sets) #进行自动去重
s = set() # 空集合
print(s)
s1 = set("hello") # 一个字符串自动拆成单个字符
print(s1)
s2 = set("line row")
print(s2)
print(s1 - s2) # 输出集合s1有而集合s2没有的元素 差集
print(s1 | s2) # 输出集合s1 or s2 中有的元素 并集
print(s1 & s2) # 输出s1 and s2集合都有的元素 交集
print(s1 ^ s2) # 输出 集合不同时拥有的元素
#集合增删改操作
# add作用:将元素值添加到集合中,如果元素值已存在,则不进行任何操作。
s = {"dry1","baidu","taobao","123","123"}
s.add("tianmao")
print(s)
#格式:集合名.update(值/value,列表,元组)
#update:还有一个方法,也可以添加元素,且参数可以是列表,元组,字典等,值可以有多个,用逗号分开。
s.update({1,2,3})
print(s)
s.update(("sss",1),[5,6])
print(s)
#格式:集合名.remove(值/value) 删除指定的值
s.remove(1)
print(s)
#discard作用:移除集合中的元素,且如果元素不存在,不会发生错误。
s.discard("sss")
print(s)
s.clear()
print(s) # 清空集合值
a = 6 in s
print(a)
炼 知识模块(9) 元组
1.以下关于元组的描述正确的是?( )
A.元组和列表相似,所有能对列表进行的操作都可以对元组进行
B.创建元组时,若元组中仅包含一个元素,在这个元素后可以不添加逗号
C.元组中的元素不能被修改
D.多个元组不能进行连接
2.name=('Jerry',),则name的数据类型是?( )
A.字符串 B.元组 C.列表 D.其他类型
3.正确定义元组yuan的语句是?( )
A、yuan={1,2,3} B、yuan=[1,2,3] C、yuan=(1,2,3) D、yuan=(12)
4.下列创建元组的方法中不正确的是?( )
A、t=(1,2,'信息') B、t=(1) C、t=('信息',) D、t='音乐','体育','美术'
5.设有元组tup=(1,2,3,'1','2','3'),执行语句print(tup[0::2]),得到的结果是?( )
A.(1,2) B.(1,3) C.(1,3,'2') D.(1,'1','3')
6.关于Python元组类型,以下选项中描述错误的是?( )
A.元组不可以被修改
B.Python中元组使用圆括号和逗号表示
C.元组中的元素要求是相同类型
D.一个元组可以作为另一个元组的元素,可以采用多级索引获取信息
7.已知t=(1,2,3,4,5,6),下面哪条元组操作是非法的?( )
A.len(t) B.max(t) C.min(t) D.t[1]=82
8. 有如下Python程序段: tup1=(1,2,3,4,5) x=tup1[1]+tup1[-1] print("x=",x) 执行上述程序段后,输出的结果为?( )
A.3 B.x= 3 C.7 D.x= 7
9.下列语句,不能创建元组的是?( )
A.tup=() B.tup=(1) C.tup=1,2 D.tup=(1,2)
10.以下程序的输出结果是?( )
tuple1 = (1,2,3)
tuple2 = (2)
print(tuple1*tuple2)
A.(1,2,3) B. (1,2,3,1,2,3) C. (2,4,6) D. 报错
11.下列程序的执行结果是?( )
s=(1,2,3,4,5,6,7,8)
print(len(s),max(s),min(s))
A. 7 8 1 B. 8 8 1 C. 8 1 8 D. 7 1 8