Python入门:列表和元组

1.1 序列概览

  • Python包含6中内建序列,分别为列表、元组、字符串、Unicode字符串、buffer对象、xrange对象

1.2 通用序列操作

1.2.1 索引

  • 序列中的所有元素都是有编号的,从0开始递增。这些元素可以通过编号分别访问
>>> greeting = 'Hello'
>>> greeting[0]
'H'
  • 使用负数索引时,Python会从右边,也就是最后一个元素开始计数,最后一个元素的位置对应的复数编号为-1
>>> greeting[-1]
'o'
  • 字符串字面值能够直接使用索引,不需要一个变量引用它们
>>> 'Hello'[1]
'e'

1.2.2 分片

>>> tag = 'I love Python'
>>> tag[2:6]
'love'
>>> tag[2:-7]
'love'
  • 访问序列的最后几个元素
>>> tag[-6:]
'Python'
>>> tag[:6]
'I love'
  • 复制整个序列
>>> numbers = [1, 2, 3, 4, 5, 6, 7]
>>> new_numbers = numbers[:]
>>> new_numbers
 [1, 2, 3, 4, 5, 6, 7]
  • 分片时设置不同的步长
>>> numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> numbers = [0:10:2]
[1, 3, 5, 7, 9]
>>> number[::4]  # 提取每四个元素中的第一个元素
[1, 5, 9]
>>> numbers[8:3:-2]  # 当步长设置为负数时反向提取元素,此时开始点的索引必须大于结束点的索引
[9, 7, 5]

1.2.3 序列相加

  • 通过使用加运算符可以进行序列的连接操作
>>> [1, 2, 3] + [4, 5, 6]
[1, 2, 3, 4, 5, 6]
>>> 'Hello.' + 'world!'
'Hello.world!'

1.2.4

  • 用数字x乘以一个序列会生成新的序列,而在新的序列中,原来的序列将被重复x次
>>> 'pthon' * 5
'pythonpythonpythonpythonpython'
>>> [42]*5
[42, 42, 42, 42, 42]
  • 创建长度一定、内容为空的列表(初始化)
>>> sequence = [None] * 5
>>> sequence
[None, None, None, None, None]

1.2.5 成员资格

  • 为了检查一个值是否在序列中,可以使用in运算符,如果该值存在,则返回True,否则,返回False
>>> permissions = 'rw'
>>> 'w' in permissions
True
>>> 'x' in permissions
False
>>> users = ['mlh', 'foo', 'bar']
>>> 'mlh' in users
True

1.2.6 长度、最小值和最大值

  • 内建函数len、min、max分别返回序列中所包含元素的数量、序列中最小的元素、序列中最大的元素
>>> numbers = [100, 34, 678]
>>> len(numbers)
3
>>> max(numbers)
678
>>> min(numbers)
34
>>> min(9, 2, 3, 5)
3

1.3 列表

1.3.1 list函数

  • 可使用list函数根据字符串创建列表
>>> list('hello')
['H', 'e', 'l', 'l', 'o']

1.3.2 基本的列表操作

  • 列表可以使用所有适用于序列的标准操作,例如索引、分片、连接和乘法
  • 改变列表:元素赋值
>>> x = [1, 1, 1]
>>> x[1] = 2
>>> x
[1, 2, 1]
  • 删除元素
>>> names = ['Alice', 'Beth', 'Cecil', 'Dee-Dee', 'Earl']
>>> del names[2]
>>> names
 ['Alice', 'Beth', 'Dee-Dee', 'Earl']
  • 分片赋值
# 等长赋值
>>> name = list('Perl')
>>> name
['P', 'e', 'r', 'l']
>>> name[2:] = list('ar')
>>> name
['P', 'e', 'a', 'r']

# 不等长赋值
>>> name = list('Perl')
>>> name[1:] = list('ython')
>>> name
['P', 'y', 't', 'h', 'o', 'n']

# 插入新元素
>>> numbers = [1, 5]
>>> numbers[1:1] = [2, 3, 4]  # 只是“替换”了一个空的分片,因此实际的操作时插入了一个序列
>>> numbers
[1, 2, 3, 4, 5]

# 删除元素
>>> numbers = [1, 2, 3, 4, 5]
>>> numbers[1:4] = []
>>> numbers
[1, 5]

1.3.3 列表方法

  • append,用于在列表末尾追加新的对象(返回修改后的列表)
>>> lst = [1, 2, 3]
>>> lst.append(4)
>>> lst
[1, 2, 3, 4]
  • count,统计某个元素在列表中出现的次数
>>> ['to', 'be', 'or', 'not', 'to', 'be'].count('to')
2
  • extend,在列表的末尾一次性追加另一个序列中的多个值(返回修改后的列表)
>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]
  • index,从列表中找出某个值第一个匹配项的索引位置
>>> knights = ['we', 'are', 'the', 'knights', 'who', 'say', 'ni']
>>> knights.index('who')
4
  • insert,用于将对象插入到列表中
>>> numbers = [1, 2, 3, 5, 6]
>>> numbers.insert(3, 'four')  # 插入位置的索引号为3
>>> numbers
[1, 2, 3, 'four', 5, 6]
  • pop,用于移除列表中的一个元素(默认时最后一个),并返回该元素的值
>>> x = [1, 2, 3]
>>> x.pop()
3
>>> x
[1, 2]
>>> x.pop(0)
1
>>> x
[2]
  • remove,用于移除列表中某个值的第一个匹配项(无返回值)
>>> x =  ['to', 'be', 'or', 'not', 'to', 'be']
>>> x.remove('be')
>>> x
 ['to', 'or', 'not', 'to', 'be']
  • reverse,将列表中的元素反向存放
>>> x = [1, 2, 3]
>>> x.reverse()
>>> x
[3, 2, 1]
  • sort,对列表中的元素进行排序(返回改变后的列表)
>>> x = [4, 6, 2, 1, 7, 9]
>>> x.sort()
>>> x
[1, 2, 4, 6, 7, 9]

# 若在不改变原始列表的情况下得到排序后的列表,则应使用sorted(可应用于任何序列,但返回一个列表)
>>> x = [4, 6, 2, 1, 7, 9]
>>> y = sorted(x)
>>> x
[4, 6, 2, 1, 7, 9]
>>> y
[1, 2, 4, 6, 7, 9]

1.4 元组:不可变序列

  • 元组与列表一样,也是一种序列,唯一的不同时元组不能修改
  • 创建元组的语法很简单:如果你用逗号分隔了一些值,那么你就自动创建了元组
>>> 1, 2, 3
(1, 2, 3)

# 另一种创建元组的方法
>>> (1, 2, 3)
(1, 2, 3)
  • 如何创建只有一个值的元组?
>>> 42  # 不是元组
42
>>> 42,  # 是元组
(42,)
>>> (42)  # 不是元组
42
>>> (42,)  # 是元组
(42,)

1.4.1 tuple函数

  • tuple,以一个序列作为参数并把它转换为元组
>>> tuple([1, 2, 3])
(1, 2, 3)
>>> tuple('abc')
('a', 'b', 'c')
>>> tuple((1, 2, 3))
(1, 2, 3)

1.4.2 基本元组操作

>>> x = 1, 2, 3
>>> x[1]
2
>>> x[0:2]  # 元组的分片还是元组
(1, 2)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
列表元组Python中常用的数据结构,它们可以用来存储多个元素。 首先,列表是一种可以修改的数据类型,使用方括号"[]"来表示。我们可以通过将多个元素用逗号分开放在方括号中来创建一个列表,例如:[1, 2, 3, 4]。列表可以包含不同的数据类型,并且可以根据需要进行修改。 而元组则是一种不可变的数据类型,使用圆括号"()"来表示。同样,我们可以通过将多个元素用逗号分开放在圆括号中来创建一个元组,例如:(1, 2, 3, 4)。元组中的元素不可更改,一旦创建后就无法再进行修改。 那么,如何将列表转换为元组呢?Python提供了一个内置函数tuple(),它可以将其他可迭代对象(如列表)转换为元组。我们只需要将列表作为参数传递给tuple()函数即可。例如,如果有一个列表lst=[1, 2, 3, 4],我们可以使用tuple(lst)将其转换为元组:(1, 2, 3, 4)。 需要注意的是,转换后的元组会保留列表中的所有元素,并且元组的顺序与列表相同。同时,转换后的元组是不可变的,即不允许对其进行修改。 使用tuple()函数将列表转换为元组是一种常用的操作,可以在不需要修改元素的情况下对数据进行保护和传递。同时,不可变性也使得元组在某些情况下比列表更加高效。 这就是关于Python入门列表元组的回答,希望能帮助到你。如果有更多疑问,欢迎继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值