列表:

  1.在Python中列表用方括号[]或list创建列表

>>> A = [1,'A',3.5]
>>> A
[1, 'A', 3.5]
>>> B = list("Hello world")
>>> B
['H', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']

 2.可以创建二维的列表: 

>>> listO = [[1,2,3],['a','b','c'],["asd",5,5.3]]
>>> listO[0][2]
3
>>> listO[-1][-2]
5

3.列表的索引和分片

 python中列表的索引和分片与字符串类似

>>> myList = [1,'a',3.1415,True]
>>> myList[1]
'a'
>>> myList[:]
[1, 'a', 3.1415, True]
>>> myList[1:3:2]
['a']

4.列表的运算符

“+”“*”“in”均和字符串类似

>>> myList = [1,2,3]
>>> yourList = ['a','b','c']
>>> repList = myList + yourList
>>> repList
[1, 2, 3, 'a', 'b', 'c']
>>> repList*3
[1, 2, 3, 'a', 'b', 'c', 1, 2, 3, 'a', 'b', 'c', 1, 2, 3, 'a', 'b', 'c']
>>> [1,2,3,4]<[1,2,3,4,0]
True
>>> 'b' in repList
True

5.列表具有可变性

 与字符串不同,列表内的值是可以修改的,配合索引进行修改

>>> myList=[1,2,3,4,5,6]
>>> myList[1:] = [8,9]
>>> myList
[1, 8, 9]

6.与列表有关函数(部分)

len(C)     返回集合C的长度

min(C)     返回集合C中最小的元素,如果参数是列表的列表,则只考虑每个列表第一个元素

max(C)     返回集合C中最大的元素,如果参数是列表的列表,则只考虑每个列表第一个元素

sum(C)     返回列表L中所有元素的总和,元素必须是数字

sorted()    可以对任意集合类型进行排序,返回值为一个排序后的列表

range(B,E,S) 生成参数范围内的整数列表

7.与列表有关的方法(部分)

(一)不修改列表方法

index(x)   返回列表中与x值相等的第一个元素的索引,如果没有找到python会报错

count(x)   返回列表中x出现的次数。如果表中不包含x则返回0

str.split() 将一个字符串str按照参数,分割成一个列表

str.join(L) 将列表L以str格式进行组合,返回一个字符串 

(二)修改列表的方法

append(x)  在列表末尾添加元素

pop()     删除列表末尾的元素,并返回此元素

extend(c)  将参数集合中的每个元素依次添加到列表的末尾

insert(i,x) 在i位置插入元素x,此后元素依次位移1

remove(x)  删除列表第一个值为x的元素,如果没有对应值将出错

sort()    将列表元素进行排序

reverse()  将列表元素进行反向排序


8.列表解析

 通过一个紧凑的表达式构建一个列表,格式如  

  [表达式 for语句1 条件 for语句2 条件...for语句n 条件 ]

解析:在该语句中,for循环实际是形成一个嵌套关系

     类似 for a in X:

          if 条件:

           for b in Y:

             if 条件:

               for n....

    仅当最内层的条件通过时,各层for语句的值可以传给表达式

示例:

a = [(x,y) for x in range(10) if x>5 for y in range(10) if y<5]
print(a)

结果为:

     [(6, 0), (6, 1), (6, 2), (6, 3), (6, 4), (7, 0), (7, 1), (7, 2), (7, 3), (7, 4), (8, 0), (8, 1), (8, 2), (8, 3), (8, 4), (9, 0), (9, 1), (9, 2), (9, 3), (9, 4)]


  该代码中,表达式为一个集合(x,y) for语句为一个2层的嵌套关系 , 第一层判定x为0-9的整数,且

x>5 第二层判定y为0-9的整数,且y<5 .很容易发现,x只有为6,7,8,9时才可以使一层的条件通过,而y只有为0,1,2,3,4时才可以使二层通过


元组:

 元组构建时,通过逗号分割

myTuple = (1,2,3)

 与列表相反,元组中的数据不可以修改,注意的是,构建元组时一定要含有括号

>>> myTuple = (1)
>>> type(myTuple)
<class 'int'>
>>> myTuple = (1,)
>>> type(myTuple)
<class 'tuple'>

 元组和列表的相互转换:


通过tuple()函数,将列表转换为元组:

>>> list1 =[6,5,4,3]
>>> myT = tuple(list1)
>>> myT
(6, 5, 4, 3)

通过list()函数,将元组转换为列表:

>>> myT = (1,5,'a')
>>> list1 = list(myT)
>>> list1
[1, 5, 'a']