python 基础 1.5 数据类型(二)--列表

一.python 数据类型序列---列表
1.列表是可变型的数据类型。列表里边的元素是可变的,可以增加,可以删除。
 
2.列表(list)是处理一组有序项目的数据结构,即可以在列表中存储一个序列的项目。
1》列表是可变类型的数据
2》创建列表
    list1 = []
    list2 = list()
    list3 = ['a',1,2]
 
3》列表,元组,字符串的表示方法
     列表是用中括号表示
     元组是用小括号表示
     字符串是用引号表示
 
4》创建列表
方法一:
In [1]: list1 = []   //创建一个空的列表
 
In [2]: type(list1)   //查看list1的类型
Out[2]: list   //类型为列表
 
方法二:
In [3]: list2 = list()
 
In [4]: list2
Out[4]: []
 
方法三:
In [5]: list3 = ['a',1,(1,),['hello','python']]
 
In [6]: list3
Out[6]: ['a', 1, (1,), ['hello', 'python']]
创建一个list3的列表:列表里边可以是字符,数字,可以是元组,也可以是列表。列表里每个元素之间用逗号隔开。
 
可以通过len()查看序列长度
In [7]: len(list3)
Out[7]: 4
 
5》列表是可变元素,如下图所示
In [8]: list3   //list3里的元素,都在呢吧
Out[8]: ['a', 1, (1,), ['hello', 'python']]
 
In [9]: list3[0]  //取list3中第一个元素
Out[9]: 'a' //第一个元素是a
 
In [10]: list3[0] = 'b'   //把第一个元素变成b
 
In [11]: list3   //在查看list3的列表元素
Out[11]: ['b', 1, (1,), ['hello', 'python']]
 
6》列表相加,相当于构成一个大的列表
In [7]: list3
Out[7]: ['b', 1]
 
In [9]: list2 = []   //创建空列表list2
 
In [10]: list2
Out[10]: []
 
In [11]: list2.append('python')  //list2里面追加字符“python”,只能追加一个参数
 
In [12]: list2
Out[12]: ['python']
 
In [13]: list2 + list3   //两个列表相加
Out[13]: ['python', 'b', 1]
 
6》列表也可以进行重复
In [15]: (list2 + list3)*2   //列表使用括号表示优先级要高,先进行括号里的在重复两遍
Out[15]: ['python', 'b', 1, 'python', 'b', 1]
 
3.列表操作
1》取值
      切片和索引
2》添加
      list.append()
3>删除
       del list[]
       list.removed(list[])
eg1:
      In [19]: list3
Out[19]: ['b', 1, 'linxu']
      In [21]: del list3[-1]   //del删除的方式是用列表的下标表示
 
In [22]: list3
Out[22]: ['b', 1]
 
eg2:del 还可以删除变量
    In [23]: list2
Out[23]: ['python']
 
In [24]: del list2
In [26]: list2   //删除后,查看list2报错
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-26-db9b7629a516> in <module>()
----> 1 list2
     
eg3:list.remove(list[])
In [32]: list1   //列表中可以有重复的字符
Out[35]: ['a', 3, 'abcd', 3]
In [41]: list1.remove(list1[1])  //删除列表中的3,可以看出列表删除的是第一个3
 
eg5:
In [45]: list1
Out[45]: ['a', 'abcd', 3]
 
In [46]: list1.remove(3)  /括号里的3,指的是列表中的数字3,这个存在的值。不是切片的索引。
 
In [48]: list1.remove('a')  //删除字母a
In [49]: list1
Out[49]: ['abcd']
 
In [47]: list1
Out[47]: ['a', 'abcd']
 
In [42]: list1
Out[42]: ['a', 'abcd', 3]
 
4》修改
        list[] = x
5》查找
        var in list
In [52]: list3
Out[52]: ['b', 1]
 
In [53]: 'd' in list3    //查看字符d在不在列表list3里,在的话显示true,不再的话显示flase
Out[53]: False
 
In [54]: 'a' not in list3  //查看a是否在list3列表中,不再显示true,在现实flase
Out[54]: True
 
4》使用insert进行插入
eg1:
In [55]: list1   //list1为空列表
Out[55]: []
 
In [56]: list3    //list3的列表
Out[56]: ['b', 1]
 
In [57]: list3.insert(0,list1)  //在list3列表中,字符b的前边插入一个空的列表--list1.命令当中的0是字符b的切片索引值
 
In [58]: list3
Out[58]: [[], 'b', 1]
 
eg2:
In [58]: list3   //list3中有一个空的列表
Out[58]: [[], 'b', 1]
 
In [59]: list3[0].append('abcd') //往list3空的列表当中,插入字符abcd
 
In [60]: list3
Out[60]: [['abcd'], 'b', 1]
 
4>列表排序
In [61]: list3.  //table键
list3.append   list3.extend   list3.insert   list3.remove   list3.sort
list3.count    list3.index    list3.pop      list3.reverse
 
In [61]: list3
Out[61]: [['abcd'], 'b', 1]
 
In [62]: list3.sort()
 
In [64]: list3
Out[64]: [1, ['abcd'], 'b']   //列表是按升序排的
 
5》列表里的元素进行反转 L.reverse()
In [64]: list3
Out[64]: [1, ['abcd'], 'b']
 
In [65]: list3.reverse()
 
In [66]: list3
Out[66]: ['b', ['abcd'], 1]
 
6>删除列表里的元素
L.pop,示例如下
In [61]: a    //a列表
Out[61]: [4, '2', 'abc', (2, 'ding')]
 
In [63]: a.pop(2)    //删除索引为2的
Out[63]: 'abc'
 
In [64]: a
Out[64]: [4, '2', (2, 'ding')]
 
In [64]: a
Out[64]: [4, '2', (2, 'ding')]
 
In [65]: a.pop()    //如果不加索引,默认删除最后一个
Out[65]: (2, 'ding')
 
In [66]: a
Out[66]: [4, '2']
 
 
7》追加
In [71]: range(5)
Out[71]: [0, 1, 2, 3, 4]
 
In [72]: a
Out[72]: [4, '2', 2, 'ding']
 
In [73]: a.extend(range(5))    //把range(5)追加到a列表里
 
In [74]: a
Out[74]: [4, '2', 2, 'ding', 0, 1, 2, 3, 4]
 
 
In [80]: list2
Out[80]: ['bb', 2, 3]
 
In [81]: a.extend(list2)    ///把list2的单个元素 追加到a列表里边
 
In [82]: a
Out[82]: [4, '2', 2, 'ding', 0, 1, 2, 3, 4, 'bb', 2, 3]    //追加的是list2的单个元素
 
 
8》字符串,列表,元组都是可迭代的,凡是可迭代的都可以用for循环访问
原文地址:https://www.cnblogs.com/lzcys8868/p/7714422.html