一、列表
list=[1,2,3,4,5,"上山打老虎"]
print(list)
for each in list:
print(each)
>>> list=[1,2,3,4,5,"上山打老虎"]
>>> print(list)
[1, 2, 3, 4, 5, '上山打老虎']
>>> length=len(list)
>>> list[length -1]
'上山打老虎'
>>> list[length -3]
4
>>> list[-3]
4
>>> list[-1]
'上山打老虎'
>>> list[1]
2
>>>
二 、列表切片
>>> list=[1,2,3,4,5,"上山打老虎"]
>>> print(list)
[1, 2, 3, 4, 5, '上山打老虎']
>>> list[2:4]
[3, 4]
>>> list[2:6]
[3, 4, 5, '上山打老虎']
>>> list[:]
[1, 2, 3, 4, 5, '上山打老虎']
>>> list[:3]
[1, 2, 3]
>>> list[3:]
[4, 5, '上山打老虎']
>>> list[0:6:2]
[1, 3, 5]
>>> list[0:6:3]
[1, 4]
>>> list[::2]
[1, 3, 5]
>>> list[::-2]
['上山打老虎', 4, 2]
>>> list[::-1]
['上山打老虎', 5, 4, 3, 2, 1]
>>>
三、列表的各种方法(增删改查)
增:
append()
每次只能增加一个元素
>>> people =['张飞','关羽','刘备','曹操']
>>> people.append('诸葛亮')
>>> people
['张飞', '关羽', '刘备', '曹操', '诸葛亮']
extend()
允许添加一个可迭代对象
>>> people =['张飞','关羽','刘备','曹操']
>>> people.extend(['周瑜','黄盖','马超'])
>>> people
['张飞', '关羽', '刘备', '曹操', '诸葛亮', '周瑜', '黄盖', '马超']
随意增加
>>> people[len(people):]=['董卓']
>>> people
['张飞', '关羽', '刘备', '曹操', '诸葛亮', '周瑜', '黄盖', '马超', '董卓']
>>> people[len(people):]=['孙权','孙策','曹丕','刘禅']
>>> people
['张飞', '关羽', '刘备', '曹操', '诸葛亮', '周瑜', '黄盖', '马超', '董卓', '孙权', '孙策', '曹丕', '刘禅']
array.insert(i, x)
将值 x 作为新项插入数组的 i 位置之前。 负值将被视为相对于数组末尾的位置。
>>> array=[1,2,3,4,5,6,7]
>>> array.insert(4,666)
>>> array
[1, 2, 3, 4, 666, 5, 6, 7] #python的索引是从0开始的
>>> array.insert(-2,999)
>>> array
[1, 2, 3, 4, 666, 5, 999, 6, 7]
删:
remove()##如果列表中存在多个相匹配的元素,那么它只会删除第一个
##如果指定的元素不存在,那么程序就会报错。
>>> people =['张飞','关羽','刘备','曹操']
>>> people
['张飞', '关羽', '刘备', '曹操']
>>> people.remove('曹操')
>>> people
['张飞', '关羽', '刘备']
>>> people.remove('孙悟空')
Traceback (most recent call last):
File "<pyshell#55>", line 1, in <module>
people.remove('孙悟空')
ValueError: list.remove(x): x not in list
pop( ) ##删除某给位置上的元素:
>>> people =['张飞','关羽','刘备','曹操']
>>> people
['张飞', '关羽', '刘备', '曹操']
>>> people.pop(2)
'刘备'
>>> people
['张飞', '关羽', '曹操']
clear( ) ##清空列表
>>> people =['张飞','关羽','刘备','曹操']
>>> people
['张飞', '关羽', '刘备', '曹操']
>>> people.clear()
>>> people
[]
列表是可变的
字符串是不可变的
改:
>>> people =['张飞','关羽','刘备','曹操', '孙策', '曹丕', '刘禅']
>>> people
['张飞', '关羽', '刘备', '曹操', '孙策', '曹丕', '刘禅']
>>> people[5]='大帅哥'
>>> people
['张飞', '关羽', '刘备', '曹操', '孙策', '大帅哥', '刘禅']
>>> people =['张飞','关羽','刘备','曹操', '孙策', '曹丕', '刘禅']
>>> people
['张飞', '关羽', '刘备', '曹操', '孙策', '曹丕', '刘禅']
>>> people[4:]='大帅哥','大美女','精神小伙'
>>> people
['张飞', '关羽', '刘备', '曹操', '大帅哥', '大美女', '精神小伙']
>>>
.sort( )
此方法会对列表进行顺序排序,从小到大排列
>>> a=[43,55,67,3,45,98,435,1,32]
>>> a.sort()
>>> a
[1, 3, 32, 43, 45, 55, 67, 98, 435]
>>>
.reverse( )
此方法会对列表进行倒序排序,将原来数组中的数倒序输出
>>> a=[43,55,67,3,45,98,435,1,32]
>>> a.sort()
>>> a
[1, 3, 32, 43, 45, 55, 67, 98, 435]
>>> a.reverse()
>>> a
[435, 98, 67, 55, 45, 43, 32, 3, 1]
>>>
.sort(*, key=None, reverse=False)
此方法会对列表进行原地排序,只使用 < 来进行各项间比较。 异常不会被屏蔽 —— 如果有任何比较操作失败,整个排序操作将失败(而列表可能会处于被部分修改的状态)。
>>> a=[43,56,76,2,14,654,222]
>>> a.sort(reverse=False)
>>> a
[2, 14, 43, 56, 76, 222, 654]
>>> a=[43,56,76,2,14,654,222]
>>> a.sort(reverse=True)
>>> a
[654, 222, 76, 56, 43, 14, 2]
查:
.count( ) ##查找某个值出现的次数
>>> a=[14,43,56,14,76,2,14,654,222]
>>> a
[14, 43, 56, 14, 76, 2, 14, 654, 222]
>>> a.count(14)
3
>>> a.count(222)
1
>>>
.index( ) ##找出某个值的具体排列的位置
>>> heros=['张飞','刘备','关羽','曹操','诸葛亮','周瑜','黄盖']
>>> heros.index('诸葛亮')
4
修改具体位置的名称
>>> heros[heros.index('诸葛亮')]='大帅哥'
>>> heros
['张飞', '刘备', '关羽', '曹操', '大帅哥', '周瑜', '黄盖']
Python的元组与列表相似,但是不同之处在于元组的元素不能修改,列表可以修改。
错误代码展示
a=('张飞','刘备','关羽','曹操','诸葛亮','周瑜','黄盖')
>>> a.index('诸葛亮')
4
>>> a[a.index('诸葛亮')]='大帅哥'
Traceback (most recent call last):
File "<pyshell#23>", line 1, in <module>
a[a.index('诸葛亮')]='大帅哥'
TypeError: 'tuple' object does not support item assignment
index(x,start,end)
>>> nums = [3,2,5,7,9,2,7,4,2,1,5,2,7,]
>>> nums
[3, 2, 5, 7, 9, 2, 7, 4, 2, 1, 5, 2, 7]
>>> nums.index(2)
1
>>> nums.index(2,5,10)
5
>>> nums.index(2,4,10)
5
>>> nums.index(2,6,10)
8
.copy( )
拷贝列表
>>> nums = [3,2,5,7,9,2,7,4,2,1,5,2,7,]
>>> nums
[3, 2, 5, 7, 9, 2, 7, 4, 2, 1, 5, 2, 7]
>>> nums_copy1=nums.copy()
>>> nums_copy1
[3, 2, 5, 7, 9, 2, 7, 4, 2, 1, 5, 2, 7]
>>>
切片,浅拷贝
>>> nums_copy2=nums[:]
>>> nums_copy2
[3, 2, 5, 7, 9, 2, 7, 4, 2, 1, 5, 2, 7]
>>> nums_copy3=nums[:3]
>>> nums_copy3
[3, 2, 5]
>>> nums_copy5=nums[4:]
>>> nums_copy5
[9, 2, 7, 4, 2, 1, 5, 2, 7]
>>>