优秀的编程知识分享平台

网站首页 > 技术文章 正文

Python:tuple(元组)和list(列表)_python的元组和列表什么区别

nanyue 2025-02-21 14:35:29 技术文章 2 ℃

今日学习:tuple(元组)和列表(list)

寒假学习打卡第九天(mit6.100L 9/26)

今天学习了两个新的对象:tuple和list

1、tuple元素为单个时,要加一个逗号,这是为了和运算符()区别。

t_empty = () # 定义空元组
l_list = [] # 定义空列表
 
t1 = ('a',) # 单个元素需要加逗号,与运算符括号()区分
l1 = ['b'] # 无需加逗号
 
t2 = (1, 2, (3, 4))
l2 = ['a', 'b', ['c', 'd']]
print(len(t2), len(l2)) # 打印出3 3 因为只关心顶层元素数量  

2、tuple的元素不可变,但是如果有像list这种可变元素,是可以修改其内部元素的。

t3 = (1, 3, 'a', 3.5, [2, 6])
t3[4][1] = 6.6
t3[0] = 2
Traceback (most recent call last):
 
  Cell In[13], line 3
    t3[0] = 2
 
TypeError: 'tuple' object does not support item assignment

3、tuple和list都有着与字符串同样的切片操作。

4、tuple可以更方便的交换数的值

a = 3
b = 2
(a, b) = (b, a) # 可以用来交换两个数
a, b = b, a # 两个元组的元组可省略括号

4、tuple可以用来返回多个函数值,函数参数*args可以让我们自由接受一个及以上的参数。

def ispositive_iseven(x): # 可以用来返回多个值
    return (x > 0, x % 2 == 0) 
    
print(ispositive_iseven(4)) # (True, True)
print(ispositive_iseven(-1)) # (False, False)
 
def mean(*args):
    """
    假设至少有一个输入,且输入全为数字
    返回输入的平均值
    """
    tot = 0
    for a in args:
        tot += a
    return tot/len(args)
 
print(mean(3, 4, 5)) # 4.0
print(mean(1, 3, 5)) # 3.0

#编程##计算机##学习##打卡##python##python自学#

最近发表
标签列表