python列表和元组使用介绍

发布时间 2024-01-13 21:05:27作者: jl1771

列表和元组的主要不同在于,列表是可以修改的,而元组不可以。这意味着列表适用于需要中途添加元素的情形,而元组适用出于某种考虑需要禁止修改序列的情形。

1 列表的使用

>>> x=[1,1,1]
>>> x[1]=2
>>> x
[1, 2, 1]

删除元素

>>> names=['a','b','c']
>>> del names[1]
>>> names
['a', 'c']

列表方法

# 方法append将一个对象附加到列表末尾
>>> lst=[1,2,3]
>>> lst.append(4)
>>> lst
[1, 2, 3, 4]

# 方法clear就地清空列表内容
>>> lst=[1,2,3]
>>> lst.clear()
>>> lst
[]

# 方法copy复制列表
# 常规复制,只是将另一个名称关联到列表
>>> a=[1,2,3]
>>> b=a
>>> b[1]=4
>>> a
[1, 4, 3]
# 要让a和b指向不同的列表,就必须将b关联到a的副本
>>> a=[1,2,3]
>>> b=a.copy()
>>> b[1]=4
>>> a
[1, 2, 3]

# 方法count计算指定的元素在列表中出现了多少次
>>> a=[1,2,3,4,5]
>>> a=[1,2,3,4,4]
>>> a.count(4)
2

# 方法extend用于列表扩展
>>> a=[1,2,3]
>>> b=[4,5,6]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]

# 方法index在列表中查找指定值第一次出现的索引
>>> a=['h','e','l','l','o']
>>> a.index('l')
2

# 方法insert用于将一个对象传入列表
>>> a=[1,2,3,5,6]
>>> a.insert(3,4)
>>> a
[1, 2, 3, 4, 5, 6]

# 方法pop从列表中删除一个元素(默认为最后一个元素),并返回这个元素
>>> a=[1,2,3,4,5]
>>> a.pop()
5
>>> a
[1, 2, 3, 4]
>>> a.pop(1)
2
>>> a
[1, 3, 4]

# 方法remove用于删除第一个指定值的元素
>>> a=[1,2,3,4,3]
>>> a.remove(3)
>>> a
[1, 2, 4, 3]

# 方法reverse按相反的顺序排列列表中的元素
>>> a=[1,2,3]
>>> a.reverse()
>>> a
[3, 2, 1]

# sort用于对列表就地排序
>>> x=[1,3,7,9,5]
>>> x.sort()
>>> x
[1, 3, 5, 7, 9]

>>> x=[1,3,7,9,5]
>>> y=a.sort()    #sort修改不返回任何值,不要这样做
>>> print(y)
None
>>> y=x.copy()    #正确做法
>>> y.sort()
>>> y
[1, 3, 5, 7, 9]
>>> x
[1, 3, 7, 9, 5]

# 高级排序,方法sort接受两个可选参数:key和reverse。这两个参数通常是按名称指定的,称为关键字参数。
# 根据长度来对元素进行排序,可将参数key设置为函数len
>>> x=['abc','ab','a','abcde']
>>> x.sort(key=len)
>>> x
['a', 'ab', 'abc', 'abcde']
# reverse参数只需将其指定一个真值(True或False),以指出是否要按照相反的顺序对列表进行排序
>>> x=[1,3,7,9,5]
>>> x.sort(reverse=True)
>>> x
[9, 7, 5, 3, 1]

2 元组的使用

元组切片

>>> x=1,2,3
>>> x[1]
2
>>> x[:2]
(1, 2)

列表转为元组

>>> tuple([1,3,7,9,5])
(1, 3, 7, 9, 5)

字符串转为元组

>>> tuple('abcde')
('a', 'b', 'c', 'd', 'e')

元组转为元组

>>> tuple((1,3,7,9,5))
(1, 3, 7, 9, 5)

字符串转为列表

>>> list('hello')
['h', 'e', 'l', 'l', 'o']

列表转字符串

>>> ''.join(list('hello'))
'hello'