元组集合
2021/10/20 23:11:29
本文主要是介绍元组集合,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
元组
元组的创建
元组和列表相似,不同之处在于元组的元素不可修改。元组使用小括号(),元组的组建很简单,只要在括号中添加元素,然后用逗号隔开就可以了。
t1=(1,2,3) t2=('a','b',2) t3='a',1 print(type(t3)) # <class 'tuple'>
有括号也行,没括号也行,类型混杂也行
元组中只包含一个元素时,需要在元素后面添加逗号 , ,否则括号会被当作运算符使用:
t=(50) t1=(50,) print(type(t)) print(type(t1)) # <class 'int'> # <class 'tuple'>
元组与字符串类似,下表的索引从0开始,可以进行截取,组合等。
元组的基本操作
一、访问元组
tup1 = ('Google', 'Runoob', 1997, 2000) tup2 = (1, 2, 3, 4, 5, 6, 7) print("tup1[0]: ", tup1[0]) print("tup2[1:5]: ", tup2[1:5]) # tup1[0]: Google # tup2[1:5]: (2, 3, 4, 5)
二、修改元素
元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,如下实例:
t1=(1,12,45) t2=('abc','sda') # t1[0]=100 # 错误 t3 = t1 + t2 print (t3) # (1, 12, 45, 'abc', 'sda')
三、删除元素
tup = ('Google', 'Runoob', 1997, 2000) print(tup) del tup print("删除后的元组 tup : ") print(tup) # ('Google', 'Runoob', 1997, 2000) # 删除后的元组 tup : # Traceback (most recent call last): # File "D:/PyCharmProject/main.py", line 6, in <module> # print(tup) # NameError: name 'tup' is not defined
四、元素运算符
Python 表达式 | 结果 | 描述 |
---|---|---|
len((1, 2, 3)) | 3 | 计算元素个数 |
(1, 2, 3) + (4, 5, 6) | (1, 2, 3, 4, 5, 6) | 连接 |
('Hi!',) * 4 | ('Hi!', 'Hi!', 'Hi!', 'Hi!') | 复制 |
3 in (1, 2, 3) | True | 元素是否存在 |
for x in (1, 2, 3): print (x,) | 1 2 3 | 迭代 |
五、元组的索引、截取
与字符串相似
集合
一、集合的概念
集合:是一组无序排序,且不重复的元素组成的,使用大括号表示。
元素类型可以是:数字类型、字符串、元组,但不能是列表、字典-->不可改变
使用大括号创建的集合属于可变集合,可以添加和删除元素。
pr=set(['asda']) pr.update('12') print(pr) print(type(pr)) # {'2', 'asda', '1'} # <class 'set'>
二、集合的操作
-
增加元素 add,update
-
删除元素 remove,discard,clear
s1=set('axas') s1.remove(1) print(s1) # KeyError: 1 s1=set('axas') s1.discard(1) print(s1) # {'x', 's', 'a'}
三、集合的运算
运算 | 说明 | 运算 | 说明 |
---|---|---|---|
x in set1 |
检测x是否在集合set1 中 |
set1 |
set2 |
set1 ==set2 |
判断集合是否相等 | set1 & set2 |
交集 |
set1 <=set2 |
判断set1 是否是set2 的子集 |
set1 - set2 |
差集 |
set1 <set2 |
判断set1 是否是set2 的真子集 |
set1 ^ set2 |
对称差集(a|b-a&b) |
set1 >=set2 |
判断set1 是否是set2 的超集 |
set1 |
= set2 |
set1 >set2 |
判断set1 是否是set2 的真超集 |
union()、intersection()与difference()函数:实现集合的并集、交集与差集。
四、字典推导与集合推导
字典推导式:使用大括号包围,需要两个表达式,一个生成key,一个生成value,两个表达式之间使用冒号分隔,结果返回字典。
s=(x for x in range(10)) print(*s) print(type(s)) l=list(s) print(l) # [] x=list(s) print(x) # [] 只能访问一次 d={x:x+1 for x in range(10)} # 字典推导式 print(d) print(type(d)) # 0 1 2 3 4 5 6 7 8 9 # <class 'generator'> 构造器对象 # {0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10} # <class 'dict'>
函数
函数:实现某种功能的代码块
# 求最大公约数和最小公倍数 def gcd(m, n): r = m % n while (r != 0): m, n = n, r r = m % n return n def lmc(m, n): return m * n // gcd(m, n) a, b = map(int, input().split()) print(gcd(a, b), lmc(a, b))
def gcd(m, n): r = m % n while (r != 0): m, n = n, r r = m % n return n def f(m, n): return gcd(m, n),m * n // gcd(m, n) a, b = map(int, input().split()) # c,d=f(a, b) print(type(f(a,b))) # <class 'tuple'>
函数的参数列表:形参和实参
位置参数:函数调用时,调用实参的顺序和定义形参的顺序是一样的
关键字参数:函数调用时,通过对形参赋值,传递参数。
允许函数调用时传递实参的顺序与定义函数的形参顺序不一样。
def printF(name,age): return name,age print(printF("a",20)) # 位置参数 print(printF(age=31,name='wamg')) # 关键字参数 print(printF('am',age=56,name='man',))
默认参数:在函数定义时,参数列表中某个形参有值,称这个参数为默认参数,默认参数必须放在没有默认值的参数后面。
def printF(name,age,school='sdut'): return name,age,school # school是默认参数 print(printF('aa',20)) # ('aa', 20, 'sdut')
不定长参数:函数形参不定长度参数的实参作为元组,在形参前面使用*来实现。
不定长参数接受关键参数并将其存放在字典中,这时候许哟啊使用**来实现
def sum1(a=1,b=2,*args): print(a,b,args) s=a+b for n in args: s+=n return s print(sum1(1,2,3,4)) # 1 2 (3, 4) # 10
这篇关于元组集合的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Java中定时任务实现方式及源码剖析
- 2024-11-24Java中定时任务实现方式及源码剖析
- 2024-11-24鸿蒙原生开发手记:03-元服务开发全流程(开发元服务,只需要看这一篇文章)
- 2024-11-24细说敏捷:敏捷四会之每日站会
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解