码迷,mamicode.com
首页 > 编程语言 > 详细

列表——python

时间:2017-10-01 15:45:59      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:数据   忽略   move   java   复制   输入   zhang   调用   大写   

创建列表:

 

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,3
2   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

标签:数据   忽略   move   java   复制   输入   zhang   调用   大写   

原文地址:http://www.cnblogs.com/you-and-me/p/7617206.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!