第二章:列表和元组
1、列表是可以修改的,而元组不可以
2、列表的访问方式:
numbers=[1,2,3,4,5,6,7,8,9,10]
print(numbers[5]) #索引 结果为6
print(numbers[3:-3]) #切片 结果为[4,5,6,7]
print(numbers[1:9:2]) #以步长为2进行提取 结果为[2,4,6,8]
print(numbers[5:1:-1]) #从右往左提取元素,结果为[6,5,4,3]
3、列表具有加法和乘法,
>>> 'python' * 5
'pythonpythonpythonpythonpython'
>>> [42] * 10
[42, 42, 42, 42, 42, 42, 42, 42, 42, 42]
4、成员资格
使用运算符in可以判断某元素是否在某列表里,返回结果为布尔值
>>> permissions = 'rw'
>>> 'w' in permissions
True
database = [
['albert', '1234'],
['dilbert', '4242'],
['smith', '7524'],
['jones', '9843']
]
username="jones"
pin="9843"
if [username, pin] in database: print('Access granted')
5、内置函数len、max、min可以获取列表的长度、最大值、最小值
6、删除元素
>>> names = ['Alice', 'Beth', 'Cecil', 'Dee-Dee', 'Earl']
>>> del names[2]
>>> names
['Alice', 'Beth', 'Dee-Dee', 'Earl']
7、给切片赋值
通过切片赋值的方式可以替换为长度与其不同的序列
>>> 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]
8、列表方法
append() #在列表末尾添加对象
extend() #同时将多个对象附加到列表末尾
clear() #清空列表的内容
count() #计算指定元素在列表中出现了多少次
index() #在列表中查找指定值第一次出现的索引
insert() #将一个对象插入列表
pop() #从末尾删除一个元素并返回这个元素
remove() #删除第一个为指定值的元素,注意,如果不存在指定的元素,将会报错
>>> x = ['to', 'be', 'or', 'not', 'to', 'be']
>>> x.remove('be')
>>> x
['to', 'or', 'not', 'to', 'be']
reverse() #倒序
sort() #排序 两者都只是修改列表,但返回None
#其他
list(seq) #将序列转换为列表
tuple(seq) #将序列转换为元组