笔记:Python列表和元组

列表

列表和字符串之间的转换

>>> li = list('hello')
>>> li
['h', 'e', 'l', 'l', 'o']
>>> li[0] = 'H'
>>> li
['H', 'e', 'l', 'l', 'o']
>>> ''.join(li)
'Hello'
>>> 

列表删除元素

>>> numbers
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> 
>>> del numbers[0:3]
>>> numbers
[4, 5, 6, 7, 8, 9, 10]
>>> 

给切片赋值

切片赋值,可同时给多个元素赋值,可将切片替换为长度与其不同的序列。

>>> name = list('Perl')
>>> name[1:] = 'ython'
>>> name
['P', 'y', 't', 'h', 'o', 'n']

使用切片赋值还可以在不替换原有元素的情况下插入新元素。

>>> numbers = [1, 5]
>>> numbers[1:1]
[]
>>> numbers[1:1] = [2, 3, 4]
>>> numbers
[1, 2, 3, 4, 5]

append

将对象附加到列表末尾。

>>> numbers
[11, 10, 9, 8, 7]
>>> numbers.append(1)
>>> numbers
[11, 10, 9, 8, 7, 1]

clear

清空列表内容。

>>> numbers
[11, 10, 9, 8, 7, 1]
>>> numbers.clear()
>>> numbers
[]

copy

复制列表,常规复制只是将另一个名称关联到列表。

>>> a = [1, 2, 3]
>>> b = a
>>> b
[1, 2, 3]
>>> a[1] = 4
>>> a
[1, 4, 3]
>>> b
[1, 4, 3]

要让a和b指向不同的列表,就必须让b关联a的副本。

>>> a = [1, 2, 3]
>>> b = a.copy()
>>> b
[1, 2, 3]
>>> b[1] = 4
>>> b
[1, 4, 3]
>>> a
[1, 2, 3]

count

计算指定元素在列表中出现的次数。

>>> ['to', 'be', 'or', 'not', 'to', 'be'].count('to')
2

extend

可以将多个值附加到列表末尾,可以将这些值的序列作为参数提供给extend方法。

>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]
>>> 

这种效果类似于拼接,不同的是,extend会修改即将被扩展的序列,而拼接则是返回一个全新的序列。

index

在列表中查找某个值第一次出现的索引。

>>> knights = ['We', 'are', 'the', 'knights', 'who', 'say', 'ni']
>>> knights.index('who')
4

insert

将一个对象插入列表。

>>> numbers = [1, 2, 3, 4, 5, 6]
>>> numbers
[1, 2, 3, 4, 5, 6]
>>> numbers.insert(3, 'four')
>>> numbers
[1, 2, 3, 'four', 4, 5, 6]
>>> 

pop

从列表中删除一个元素(默认是最后一个元素),并返回这一元素。

>>> numbers
[1, 2, 3, 'four', 4, 5, 6]
>>> numbers.pop()
6
>>> numbers.pop(-2)
4

remove

删除第一个为指定值的元素

>>> x = ['a', 'b', 'a', 'c', 'd']
>>> x.remove('a')
>>> x
['b', 'a', 'c', 'd']
>>> 

reverse

对列表中的元素反向排序

>>> numbers = [1, 2, 3]
>>> numbers.reverse()
>>> numbers
[3, 2, 1]

sort

对列表就地排序,就地排序意味着对原来的列表进行修改,使其元素按顺序排列,而不是返回排序后的列表的副本。

>>> a = [5, 3, 4, 2, 1]
>>> a.sort()
>>> a
[1, 2, 3, 4, 5]

sort接受两个可选参数:key和reverse,这两个参数通常按名称指定的,称为关键词参数。

设置一个用于排序的函数,使用它来为每个元素创建一个键,根据这些键为元素进行排序。

>>> x = ['apple', 'tomato', 'banana', 'orange', 'pear']
>>> x.sort(key=len)
>>> x
['pear', 'apple', 'tomato', 'banana', 'orange']
>>> 

reverse指定一个真值(True,False)来对列表进行正向或反向排序。

>>> numbers = ['5', '4', '7', '9', '2']
>>> numbers.sort(reverse=True)
>>> numbers
['9', '7', '5', '4', '2']
>>> numbers.sort(reverse=False)
>>> numbers
['2', '4', '5', '7', '9']

元组

与列表一样,元组也是序列,唯一差别是元组是不可修改的。只要将一些值以逗号分隔,就能自动创建一个元组。

只包含一个值的元组

>>> 42,
(42,)

空元组

>>> ()
()

tuple

将一个序列作为参数,并转换为元组。

>>> tuple([1, 2 , 3])
(1, 2, 3)
>>> tuple('python')
('p', 'y', 't', 'h', 'o', 'n')
>>> 

猜你喜欢

转载自www.cnblogs.com/dhzg/p/11531051.html