Python基础学习笔记7——元组

本文介绍了Python中元组的基本概念和使用方法,包括元组的创建、不可变性、切片操作及成员关系判断等。此外还讲解了如何利用元组进行变量赋值、函数返回值的处理,并给出了排序示例。

元组tuple,也是一种sequence特性的类型,也可以存储任何数据类型的数据对象,跟列表相似,元组不能在原处修改。元组不支持任何方法调用,但是元组具有列表的大多数属性。

但是要记住的是:元组的不可变性只适用于元组本身,并非其内容。例如元组内部的列表是可以像往常一样修改的。

在下表中,如果元组中只有一个元素,必须要在最后面加上逗号。

在元组中也可以包含列表,或者元组作为元素。

a = (1)

这个就是数字1。

a = (1)

print(type(a))

可以看到该变量的数据类型是整形。

元组的sequence操作:切片操作。

和列表不同,元组对象的内容是不可变化的。

a = (1, 2, 3.14, 'hello', [7,8,9])
a[0] = '你好'

tuple对象,元组对象不支持元素复制。

判断元素是否在列表中或元组中,成员关系:

我们需要检查列表、元组对象中是否存储我们想要找的元素,我们通过in这个关键字。

list1 = [1,2,3,4, 'hello']
tuple1 = (1,2,3,4, 'hello')

if 'hello' in list1:
    print('hello 在列表中存在')

if 'boy' not in tuple1:
    print('boy 在元组中不存在')

多个变量同时赋值:

可以把列表或者元组中的元素直接赋值给变量。

x, y = (1, 2)
print(x, y)


name, age = ['zhangfei', 33]
print(name, age)

这个时候需要注意的是:变量的个数一定要和列表/元素中的元素个数相等。

函数返回列表或者元组:

函数的返回值可以是一个列表或者元组对象。

def func1():
    age = input("Please input age: ")
    gender = input("Please input gender: ")

    return [age, gender]


age, gender = func1()

print(age, gender)

也可以放在元组中,甚至括号也可以去掉。

def func1():
    age = input("Please input age: ")
    gender = input("Please input gender: ")

    return age, gender


age, gender = func1()

print(age, gender)

元组常量和运算:

运算功能
()空元组
T(0,)1个元素的元组
T(0, 'Ni', 1.2, 3)四个元素的元组
T = ('abc', ('def', 'ghi'))嵌套元组
T = Tuple('spam')一个可迭代对象的项的元组
T[i]索引
T[i][j]索引的索引
T[i:j]切片
len(T)元组长度
T1 + T2合并
T * 3 重复
for i in T: print(i)迭代
‘spam’ in T成员关系
[x ** 2 for x in T]
T.index('Ni')搜索
T.count('Ni')计数

例子:对元组进行排序:

# 方法一
T = ('cc', 'aa', 'dd', 'bb')
tmp = list(T)
tmp.sort()
print(tmp)
T = tuple(tmp)
print(T)


# 方法二
T = ('cc', 'aa', 'dd', 'bb')
print(tuple(sorted(T)))

然后我们看看sorted函数的解释:

Return a new list containing all items from the iterable in ascending order.

返回一个列表,该列表中包含所有的可迭代的元素,按升序排列。 

sorted这个函数。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值