python tuple和list

本文介绍了Python中元组和列表的基本概念与操作方法,包括元组的创建、特性及限制,列表的增删改查操作,以及如何使用高级数据结构如deque进行高效的数据处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tuple

  1. 创建一个元组:

temp=(1,) #创建的元组只有一个元素,一定要加,不然会被默认为temp是整形

  1. 更新一个元祖
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

classmates = ('Michael', 'Bob', 'Tracy')  
print('classmates =', classmates)                  #'Michael', 'Bob', 'Tracy'
print('len(classmates) =', len(classmates))        #3
print('classmates[0] =', classmates[0])            #'Michael',
print('classmates[1] =', classmates[1])            #'Bob',
print('classmates[2] =', classmates[2])            #'Tracy'
print('classmates[-1] =', classmates[-1])          #'Tracy'

classmates[0] = 'Adam'
结果:

Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

元祖定义之后不可改变


namedtuple 可以用属性来操作的tuple

可以简单地表示一个坐标作者一个圆。看例子:

from collections import namedtuple
Point=namedtuple('Point',['x','y'])
p=Point(1,2)
>>> p.x
1
>>> p.y
2
>>> isinstance(p, Point)
True
>>> isinstance(p, tuple)
True
# namedtuple('名称', [属性list]):
Circle = namedtuple('Circle', ['x', 'y', 'r'])

list

列表的操作
1. 插入

①insert(第几个位置,需要插入的元素)

②列表.remove(元素)删除列表中的元素

③使用deque高效插入和删除双向列表,但是使用它的特性函数,比如:`qppendleft()`时,它的类型就不是一个`list`,但是本质和list没有区别。
```
>>> from collections import deque
>>> q=deque([1,2,3,4,5,6])
>>> q.append('x')
>>> q
deque([1, 2, 3, 4, 5, 6, 'x'])
>>> q.appendleft('y')
>>> q
deque(['y', 1, 2, 3, 4, 5, 6, 'x'])
>>> print(q)
deque(['y', 1, 2, 3, 4, 5, 6, 'x'])
>>> type(q)
<class 'collections.deque'>
>>> q[0]
'y'

```

`print([x for x in range(10) if x % 2 != 0])`
  1. 删除

    ① del 列表名(元素)
    用del语句删除列表的元素或整个列表

    ② pop() 出栈
    可以用pop(索引值)例如:pop(1)出栈列表中第1个元素。

  2. 链接

    +,使用+将两个列表连接在一起。

    ,使用和对应的次数,使列表中的数据重复例如:

  3. 判断

    in,判断元素是否在列表中。 对:返回True,错误:返回False

    not in,判断匀速是不是不在列表中。对:返回True,错误:返回False
    判断只能判断一层:

  4. 计算参数在列表中出现的次数

    列表.count(参数)

  5. 返回参数在列表中的位置

    列表.index(参数,起始位置,结束位置)

  6. 把列表中的元素翻转

    列表.reverse()

  7. 用指定的方式对列表中的元素排序,默认方法是从小到大排序

    列表.sort(指定排序算法,算法指定的key,reverse=False)
    \ 默认算法/

  8. 列表.append(元素)

    在列表的末尾加入一个元素。

  9. 列表.extend(列表)

    扩张列表,使用列表将需要扩张的元素加入列表的末尾。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

classmates = ['Michael', 'Bob', 'Tracy']
print('classmates =', classmates)
print('len(classmates) =', len(classmates))
print('classmates[0] =', classmates[0])
print('classmates[1] =', classmates[1])
print('classmates[2] =', classmates[2])
print('classmates[-1] =', classmates[-1])
classmates.pop()
print('classmates =', classmates)

结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值