1、元组tuple可实现函数的多值返回
def tuple():
a = ['2', '33', 'sdf']
b = '23'
c = '元组'
d = 3
return a,b,c #语法:返回一个tuple可以省略括号
rt = tuple()
print(type(rt)) #该函数的实际返回类型<class 'tuple'>
print(rt, rt[0]) #元组的调用和list一样,输出(['2', '33', 'sdf'], '23', 34) ['2', '33', 'sdf'] 23
rt_1, rt_2, rt_3 = tuple() #语法:多变量可同时接收一个元组的不同位置的值
print(type(rt_1)) #为单值的原类型<class 'list'>
print(rt_1) #['2', '33', 'sdf']
2、元组tuple比list更精简,占用空间更小,有能用tuple尽量不用list的说法
print(rt.__sizeof__()) #大小为48
rt_list = list(rt) #将元组改为list
print(rt_list) #[['2', '33', 'sdf'], '23', 34]
print(rt_list.__sizeof__()) #大小为64
3、元组tuple不可变,适合做为dict的key。此外多线程并发时,tuple不需要加锁。
#rt[2] = 3 #'tuple'对象不支持赋值,报错TypeError
rt = rt[:1]+rt[2:] #和list一样可以切片
print(rt) #通过切片重构,来删除某个元素
join()方法
语法:str.join(iterable)
返回一个由可迭代对象中的字符串拼接而成的字符串。如果该对象中存在任何非字符串值包括bytes对象则会引发TypeError。调用该方法的字符串将作为元素之间的分隔符。
a = ['2','33','sdf']
h = [2,'33','sdf']
b = '23'
c = 'hello'
d = {'33':'32fw','fwe':'23r'}
e = ('a','fefe','223')
rt = '-'.join(a) #返回2-33-sdf
rt = '-'.join(h) #有int,报错TypeError: sequence item 0: expected str instance, int found
rt = '-'.join(b,c) #只需要一个数,报错TypeError: str.join() takes exactly one argument (2 given)
rt = '-'.join(c) #返回h-e-l-l-o
rt = '-'.join(d) #只对dict的key值进行拼接,返回33-fwe
rt = '-'.join(e) #对元组进行拼接,返回a-fefe-223