007 Python中的列表list

一、什么是列表List

容器

存储数据的

定义

1.是一种容器;一种序列,可以被改变的序列;

2.由特定元素组成的,元素之间可以没有关联关系,但有先后顺序

3.可以放任意类型的数据万能的容器,可以放列表

4.是可迭代对象

创建空列表的字面值

L = [ ]

创建非空列表的字面值

L = [ 1, 2, 3, 4 ]          

L = [‘beijing’, ‘shanghai’]   

L = [1, ‘two’, 3.14 ]

二、列表的构造函数

list()

生成一个空列表,等同于[]

list(iterable

用可迭代对象创建一个列表

L = list()

L = list(‘hello’)

L = list(range(1,10,2))

 

L绑定空列表

L绑定[‘h’,‘e’,‘l’,‘l’,‘o’]

L绑定[ 1, 3, 5, 7, 9 ]

三、列表的运算

3.1列表的算术运算

+   +=

拼接列表

*   *=

生成重复列表

绑定列表的变量+=可迭代对象

L= [1 ,2, 3]   L += [ 4 ,5 , 6]  ‘789’   range(10,13)

X = [ 1, 2, 3]

Y = [ 4, 5, 6]

Z = X + Y 

 

 

 

>>> Z = [ 1, 2, 3, 4, 5, 6 ]

X = [ 1, 2, 3]

X += [ 4, 5, 6]

Print( X )

 

 

>>> Z = [ 1, 2, 3, 4, 5, 6 ]

X = [ 1, 2 ] * 3

>>> x = [ 1, 2, 1, 2, 1, 2 ]

3.2列表的比较运算

<   <=  > >=     ==      !=

 

规则和string相同

 

X = [ 1, 2, 3]

Y = [ 1, 2, 4]

X != Y 

Y > X

X <= Y

 

 

 

>>>True

>>>True

>>>True

[ ‘AB’, ‘abc’, ‘123’ ] < [ ‘AB’, ‘123’, ‘abc’ ]

>>>False

[ 1, ‘two’ ] > [ ‘two’, 1 ]

>>>TypeError

3.3列表的in/not in运算符

作用

判断一个值是否存在于列表中;

2 in [ 1, 2, 3, 4]     

‘2’ in [ 1, 2, 3, 4]

 

>>>True

>>>False

四、列表的索引index

4.1列表的索引操作

语法

list [ 整数表达式 ]

用法

同字符串索引;规则与字符串规则完全相同;

分正向索引、反向索引;

示例

 

L = list(‘ABCD’)

print(L[ 1 ]

L[ -1 ]

 

>>>B

>>>D

4.2列表的索引赋值

列表是可变的,通过索引赋值改变列表中的元素

但是并没有生成新的列表,id值仍然不变;

str就不能进行索引赋值;str的+=,生成了新的字符串,绑定新变量,所以id一定会变;str是不可变对象,拼接时,得生成新的。

list 可以进行索引赋值;list的+=,在原来的list上直接拼接,还是原来的变量,id没变;list是可变对象,拼接时,直接在尾巴上拼接。

示例

 

L = [ 1, 2, 3, 4 ]

L [ 2 ] = 3.1

Print(L)

 

 

>>>[ 1, 2, 3.1, 4 ]



 

五、列表的切片

5.1列表的切片

语法

list [ : ]

list [ : : ]

说明

列表切片返回一个列表,规则等同于字符串切片规则

示例

 

X = list( range (10))

Y = X [ 1 : 9 : 2 ]

Y = X [ : : ]

 

>>>奇数

>>>复制X列表

5.2列表的切片赋值

string就没有切片赋值

语法

list[ slice ] = 可迭代对象

作用

可改变原列表的排序,可以插入、修改、删除数据

可用切片改变列表对于元素的值

说明

切片赋值的等号右侧必须是一个‘可迭代对象’

注意事项

步长不等于1时,可迭代对象提供的数据元素要等于切片切出的段数

示例

 

L= [ 2 , 3 , 4 ]

L[ 1 : 2 ] = [ 3.1 , 3.2 ]

 

>>>L =  [ 2 , 3.1 , 3.2 , 4 ]

L= [ 2 , 3 , 4 ]

L [ 2: ] = [ ]

(删除某个元素)

>>>L = [ 2 , 3]

L= [ 2 , 3 , 4 ]

L [ :0 ]= [ 0 , 1 ]

(在list开头插入)

>>>L = [ 0 , 1 , 2, 3, 4 ]

L= [ 2 , 3 , 4 ]

L[ 3 : ] = [ 5 , 6, 7 ]

(在list尾巴插入)

>>>L = [ 2, 3, 4, 5, 6, 7] 还可以L[ 10000 : ]  L[ len() : ]

L= [ 2 , 3 , 4 ]

L[ 1 : 2 ] = ‘ABC’

(把字符串拆开)

>>>L = [ 2 , ‘A’, ’B’,’C’,4 ]

L=range(1,9)

L[1 : : 2] = [ 3.1, 5.2, 7.3]

 

可迭代对象提供的数据元素要等于切片切出的段数

L = L[ : : -1 ]

(反转列表,id会变(因为绑定了一个新的变量)

L2 = L[ : : -1]

L[ : ] = L2  (这样,id就不会变了)(如果L = L2,还是会变,得切!)

六、del语句

语法

del  list[ index ]

del  list [ slice ]

示例

 

L = [ 1, 2, 3, 4, 5, 6 ]

del L[ 1 ]

del L[ 2 ]

del L[ -1 ]

L = [ 1, 2, 3, 4, 5, 6 ]

del L[ : : 2 ]

 

七、列表方法


sorted(iterable,reverse[W用1] =False)

用于生成一个排序后的列表,生成新列表,原列表不变

reversed(seq)

返回原序列反序的可迭代对象

示例

 

L = [7, 9, 5, 1, 3]

L2 = sorted( L )

L3 = sorted( L , reverse = True )

For x in reversed( L ):

    Print( x )

 

>>>L2 = [ 1, 3, 5, 7, 9 ]

>>>L3 = [ 9, 7, 5, 3, 1 ]

 

>>> 3 1 5 9 7

 

八、列表推导式

List comprehension

 

是用iterable依次生成带有多个元素的列表的表达式

作用

用简易方法生成列表

语法

[ 表达式 for 变量 in iterable ]

[ 表达式 for 变量 in iterable if 真值表达式 ][W用2] 

示例

 

#生成一个列表,此列表的数值是1~9的平方

L = [ x ** 2 for x in range( 1 , 10 ) ]

 

列表推导式的嵌套

 

语法

[ 表达式

For 变量1 in iterable1 if 真值表达式1

For 变量2 in iterable2 if 真值表达式2 ]

示例

 

用字符串‘ABC’和‘123’生成如下列表:

A1,A2,A3,B1,B2,B3,C1,C2,C3

 

L = [ x + y for x in ‘ABC’ for y in ‘123’ ]

 


 

 


 [W用1]

= False ; 升序

=True ; 降序

 [W用2]

1.    取iterable

2.   绑定变量

3.   判断真值表达式

4.   再决定要不要执行表达式


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值