通用序列操作
1.索引:序列中所有的元素都是有编号的---从0开始逐渐递增,使用负数索引,python会从右边,也就是最后一个元素开始索引,最后一个元素的编号为-1
list = ['a','d','e','y']
print(list[0])
print(list[-1])
2.切片:
ist = ['a','d','e','y']
print(list[0:3]) #取前三个元素
print(list[-3:]) #取后三个数
list2 = [1,2,3,4,5,6,7,8,9,10]
print(list2[::2]) #取出1-10中的偶数,2指的是步长,步长是可以为负数的(必须让开始点的元素大于结束点)
3. 序列的相加:只有相同类型的序列才能够相加(如:列表与字符串就不能够连接在一起)
>>>[1,2,3] + [4,5,6]
[1, 2, 3, 4, 5, 6]
>>>'hello' + 'world'
'helloworld'
>>>[1,2,3] + 'hello'
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: can only concatenate list (not "str") to list
4.序列相乘:
>>>'python'*5
'pythonpythonpythonpythonpython'
>>>[42]*5
[42, 42, 42, 42, 42]
5. 长度,最小,最大值
>>>num = [1,10,100]
>>>len(num)
3
>>>min(num)
1
>>>max(num)
100
列表:列表时可以修改的
1.列表的创建:
1.创建空列表:
>>>list1 = []
2. list()函数创建:
>>>list('hello')
['h', 'e', 'l', 'l', 'o']
>>>list(range(1,10))
[1, 2, 3, 4, 5, 6, 7, 8, 9]
2. 改变列表:元素赋值(不能对一个位置不存在的元素赋值)
>>>list = ['a','b','c']
>>>list[0]=111
>>>list
[111,'b','c']
3. 删除元素:
>>>list = ['a','b','c']
>>>del list[1]
>>>list
['a','c']
4. 切片赋值:
1. 一次为多个元素赋值
>>>name = list('alxe')
>>>name
['a', 'l', 'x', 'e']
>>>name[2:] = list('wc')
>>>name
['a', 'l', 'w', 'c']
2. 在使用切片赋值时,可以使用与原序列不相等的序列进行切片替换
>>>name = list('alxe')
>>>name[1:] = list('python')
>>>name
['a', 'p', 'y', 't', 'h', 'o', 'n']
3. 使用切片插入新元素
>>>num = [1,5]
>>>num[1:1] = [2,3,4]
>>>num
[1, 2, 3, 4, 5]
4. 使用切片删除列表元素
>>>num = [1,2,3,4,5]
>>>num[1:4] = []
>>>num
[1, 5]
以上列子等同于:del num[1:4]
4. 列表的方法:
1. .append() :在列表末尾追加新的对象
>>>num = [1,2,3,4,5]
>>>num.append(10)
>>>num
[1, 2, 3, 4, 5, 10]
2. .count():统计某个元素在列表中出现的次数
>>>num = [1,2,3,4,5,1,1,2,1,3,1,1]
>>>num.count(1)
6
3. .extend():在列表的后面一次性追加多个值
>>>num1= [1,2,3,]
>>>num2= [4,5,6]
>>>num1.extend(num2)
>>>num1
[1, 2, 3, 4, 5, 6]
4. .index():用于从列表中找出某个值第一次出现的位置
>>>lis = ['who','you','who','is']
>>>lis.index('who')
0
5. .insert() :将对象查到列表中
>>>lis = ['who','you','who','is']
>>>lis.insert(2,'name')
>>>lis
['who', 'you', 'name', 'who', 'is']
6. .pop() :删除列表中的元素(默认最后一个), 并将该元素返回
>>>lis = ['who','you','who','is']
>>>lis.pop()
'is'
>>>lis
['who', 'you', 'who']
>>>lis.pop(1)
'you'
>>>lis
['who', 'who']
7. remove() :删除列表中某个值的第一个匹配项
>>>lis = ['who','you','who','is']
>>>lis.remove('who')
>>>lis
['you', 'who', 'is']
8. .reverse():将列表中的元素反向存放
>>>lis = [1,2,3,4,5]
>>>lis.reverse()
>>>lis
[5, 4, 3, 2, 1]
9. .sort():对列表进行排序,无返回值(原序列发生改变)
10. .sorted():对列表进行排序,返回一个排列后的列表副本,原列表无改变
>>>lis = [2,4,6,1,0,7,9,3]
>>>lis.sort()
>>>lis
[0, 1, 2, 3, 4, 6, 7, 9]
>>>x = [2,4,6,1,0,7,9,3]
>>>y = x[:] # 列表的复制
>>>y.sort()
>>>x
[2, 4, 6, 1, 0, 7, 9, 3]
>>>y
[0, 1, 2, 3, 4, 6, 7, 9]
元组:元组和字符串一样不可以修改
1. 元组的创建
1. 空元组: a = ()
2. 包含一个值得元组: a = (11,) # 一定要有逗号
>>>3*(40+2)
126
>>>3*(40+2,)
(42,42,42)
3. tuple():函数
>>>print(tuple([1,2,3]))
(1,2,3)