列表——python,,创建列表:1   n


创建列表:

1   name_list = [‘python‘,‘java‘,‘shell‘,‘c++‘]2   #或3   name_list = list([‘python‘,‘java‘,‘shell‘,‘c++‘])

切片:(切片:取多个元素)

 

 1    a = [0,1,2,3,4,5,6] 2   print(a[0])     #通过下标访问列表中的元素,下标从0开始计数 3   print(a[-2])    #还可以从后往前取,最后一位代表-1 4   print(a[1:5])   #从下标1开始取到第五位,包括1,不包括5 5   print(a[0:4])   #同上,包括0,不包括4 6   print(a[:4])    #同上,从头开始取,0可以不写 7   print(a[2:5])   #取第二位到第五位,包括2,不包括5 8   print(a[3:-1])  #同上,包括3,不包括-1 9   print(a[3:])    #想取最后一位时,可以忽略不写10   print(a[0::2])  #后面的2,代表跳着取值,间隔一个元素11   print(a[::3])   #同上,不过间隔两个元素,0可以忽略不写

追加:
  

1    a.append(‘我是新来的‘)2   print(a)
结果:[0, 1, 2, 3, 4, 5, 6, ‘我是新来的‘]

插入:

 

1   a.insert(3,‘在3前面插入一个数据‘)2   print(a)3   a.insert(5,‘在3后面插入一个数据‘)4   print(a)
结果:[0, 1, 2, ‘在3前面插入一个数据‘, 3, 4, 5, 6, ‘我是新来的‘]
   [0, 1, 2, ‘在3前面插入一个数据‘, 3, ‘在3后面插入一个数据‘, 4, 5, 6, ‘我是新来的‘] 

修改:
 

1   a[3]=‘该换人了‘2   print(a)
结果:[0, 1, 2, ‘该换人了‘, 3, ‘在3后面插入一个数据‘, 4, 5, 6, ‘我是新来的‘]

删除:
 

1   del a[3]    #指定删除的位置2   print(a)3   a.remove(‘在3后面插入一个数据‘)  #指定删除的内容4   print(a)5   a.pop()     #默认删除最后一位,也可输入下标删除指定6   print(a)
结果:[0, 1, 2, 3, ‘在3后面插入一个数据‘, 4, 5, 6, ‘我是新来的‘]
   [0, 1, 2, 3, 4, 5, 6, ‘我是新来的‘]
   [0, 1, 2, 3, 4, 5, 6]

扩展:
  

1   b = 1,2,32   print(b)3   a.extend(b)4   print(a)
结果:(1, 2, 3)
   [0, 1, 2, 3, 4, 5, 6, 1, 2, 3]

统计:
  

1 print(a.count(3))   #看整数3在列表a中存在几个
结果:2

排序:‘数据类型不一样的不可以在一起排序’

(默认顺序:特殊符号,数字,大写字母,小写字母)
  

1 a.sort()    #正序2   print(a)3   a.reverse() #翻转4   print(a)
结果:[0, 1, 1, 2, 2, 3, 3, 4, 5, 6]
   [6, 5, 4, 3, 3, 2, 2, 1, 1, 0]

获取下标:
  

1 print(a)2 print(a.index(2))
结果:[6, 5, 4, 3, 3, 2, 2, 1, 1, 0]
   5

拷贝:

1、copy(浅copy)

  

 1   names = [‘nihao‘,‘zhangsan‘,[‘张三‘,‘李四‘],‘lisi‘,‘wangwu‘] 2   _name = names.copy() 3   #只复制父列表.子列表相当于只指定一个位置,因此会跟随改变。 4   names[3] = ‘lisi2‘ 5   names[2][0] = ‘张三丰‘ 6   print(names) 7   print(_name) 8  结果:[‘nihao‘, ‘zhangsan‘, [‘张三丰‘, ‘李四‘], ‘lisi2‘, ‘wangwu‘]    [‘nihao‘, ‘zhangsan‘, [‘张三丰‘, ‘李四‘], ‘lisi‘, ‘wangwu‘]

2、调用模块的复制(浅copy)

 

1    import copy #定义copy模块2   names = [‘nihao‘,‘zhangsan‘,[‘张三‘,‘李四‘],‘lisi‘,‘wangwu‘]3   _name = copy.copy(names)4   #与_name = names.copy()相同,结果就不赘述了。5   names[3] = ‘lisi2‘6   names[2][0] = ‘张三丰‘7   print(names)8   print(_name)

3、调用模块,只复制原内容,更改后不复制更改内容。(深copy)

 1   import copy 2   names = [‘nihao‘,‘zhangsan‘,[‘张三‘,‘李四‘],‘lisi‘,‘wangwu‘] 3   _name = copy.deepcopy(names) 4   #真正意义上的拷贝,不考虑后来的变化 5   print(names) 6   names[3] = ‘lisi2‘ 7   names[2][0] = ‘张三丰‘ 8   print(names) 9   print(_name) 结果:[‘nihao‘, ‘zhangsan‘, [‘张三‘, ‘李四‘], ‘lisi‘, ‘wangwu‘]     [‘nihao‘, ‘zhangsan‘, [‘张三丰‘, ‘李四‘], ‘lisi2‘, ‘wangwu‘]    [‘nihao‘, ‘zhangsan‘, [‘张三‘, ‘李四‘], ‘lisi‘, ‘wangwu‘]

                                

列表——python

评论关闭