python基础-列表

列表声明:

a=['alex','lcc','ygl','zxh','zws']
b=[] #定义一个空列表

追加:

a.append('我是新来的')
['alex', 'lcc', 'ygl', 'zxh', 'zws', '我是新来的']

插入:

a.insert(1,'newer111')
['alex', 'newer111', 'lcc', 'ygl', 'zxh', 'zws', '我是新来的']

删除:

a.pop(1) #删除指定下标的元素,从0开始
['alex', 'lcc', 'ygl', 'zxh', 'zws', '我是新来的']
a.pop() #不传则删除最后一个元素
['alex', 'lcc', 'ygl', 'zxh', 'zws']

a.remove('lcc') #删除指定元素,不能传下标,否则报错
['alex', 'ygl', 'zxh', 'zws']

del a[2] #删除列表中下标为2的元素
['alex', 'ygl', 'zws']
del a #删除整个列表

修改:

['alex', 'ygl', 'zxh', 'zws']
a[1]='我是修改后的ygl'
['alex', '我是修改后的ygl', 'zxh', 'zws']

查询:通过切片取

>>> names = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]
>>> names[1:4]  #取下标1至下标4之间的数字,包括1,不包括4
['Tenglan', 'Eric', 'Rain']
>>> names[1:-1] #取下标1至-1的值,不包括-1
['Tenglan', 'Eric', 'Rain', 'Tom']
>>> names[0:3] 
['Alex', 'Tenglan', 'Eric']
>>> names[:3] #如果是从头开始取,0可以忽略,跟上句效果一样
['Alex', 'Tenglan', 'Eric']
>>> names[3:] #如果想取最后一个,必须不能写-1,只能这么写
['Rain', 'Tom', 'Amy'] 
>>> names[3:-1] #这样-1就不会被包含了
['Rain', 'Tom']
>>> names[0::2] #后面的2是代表,每隔一个元素,就取一个
['Alex', 'Eric', 'Tom'] 
>>> names[::2] #和上句效果一样
['Alex', 'Eric', 'Tom']
>>> names[2] #取下标为2即第三个元素
Eric

扩展:

a=['alex', 'ygl', 'zxh', 'zws']
b=[1,2,3]
a.extend(b)
['alex', 'ygl', 'zxh', 'zws', 1, 2, 3]

拷贝:

a=['alex', 'ygl', 'zxh', 'zws', 1, 2, 3]
c=a.copy()
c=['alex', 'ygl', 'zxh', 'zws', 1, 2, 3]
注意:这里的copy只是浅copy,只能复制第一层,对于列表中还嵌套列表的情况就不适用了,子列表数据会一起改变。
如果要完全copy,则要用到b=copy.deepcopy(a)方法。这样无论a怎么变化,b都还是copy前的a。

排序和翻转:

a=['alex','zws','ygl','zxh','lcc']
a.sort() #python3里不同数据类型不能放在一起排序
['alex', 'lcc', 'ygl', 'zws', 'zxh']
d.reverse()
['zxh', 'zws', 'ygl', 'lcc', 'alex']

统计:

a=['alex','zws','ygl','zxh','lcc','zws']
a.count('zws') #统计'zws'个数
2

获取下标:

index() 方法用于从列表中找出某个对象第一个匹配项的索引位置,如果这个对象不在列表中会报一个异常。
index(obj,start,stop)
  • obj -- 查找的对象。
  • start -- 可选参数,开始索引,默认为0。(可单独指定)
  • stop -- 可选参数,结束索引,默认为列表的长度。(不能单独指定)
a=['alex','ygl','zxh','lcc','zws']
a.index('zws')
4

 列表循环:

for i in names:

   print(i)

 

posted @ 2018-07-25 11:23  那心之所向  阅读(161)  评论(0)    收藏  举报