009 Python初学笔记--列表的创建+向列表中插入元素

一.列表的创建:python中的列表不同于数组,列表中的元素可以是我们学过的任何数据类型

1.创建一个普通的列表

2.创建一个混合元素类型的列表

3.创建一个空列表

>>> #1.创建一个普通的列表
>>> name=['Swan','Jimmy','Danil']
>>> name
['Swan', 'Jimmy', 'Danil']
>>> #2.创建一个混合元素类型的列表
>>> mix=[5,'Jasper',3.14,name]
>>> mix
[5, 'Jasper', 3.14, ['Swan', 'Jimmy', 'Danil']]
>>> mix1=[2,'Xixi',3.22,['Tony',6]]
>>> mix1
[2, 'Xixi', 3.22, ['Tony', 6]]
>>> #3.创建一个空列表
>>> empty=[]
>>> empty
[]

二.向列表中添加元素:

1.append():将参数作为一个元素增加到列表的末尾

2.extend():将参数作为一个列表去扩充到列表的末尾

3.insert(index,key):向列表指定位置插入元素,index表示插入位置,key为插入的元素,位置从0开始

>>> empty=[]
>>> #1.append()
>>> empty.append('A')
>>> empty
['A']

>>> #2.extend() 参数的类型是列表类型
>>> empty.extend('B','C')
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    empty.extend('B','C')
TypeError: extend() takes exactly one argument (2 given)
>>> empty.extend(['B','C'])
>>> empty
['A', 'B', 'C']

>>> #3.insert()
>>> empty.insert(1,'D')
>>> empty
['A', 'D', 'B', 'C']

注意:append()方法和extend()方法的区别:

>>> empty1=[];empty2=[]
>>> #1.区别一
>>> empty1.append('Swan')
>>> empty2.extend('Swan')
>>> empty1;empty2
['Swan']
['S', 'w', 'a', 'n']

 append()方法是将参数作为一个元素添加进去的,而 extend()方法是将参数作为一个列表来扩充当前列表的。也就是说empty.append(['A','B'])与empty.extend(['A','B'])的结果是不同的,请看下例:

>>> #2.区别二
>>> name=['Jasper','neinei']
>>> empty1=['A'];empty2=['A']
>>> empty1.append(name)
>>> empty2.extend(name)
>>> empty1;empty2
['A', ['Jasper', 'neinei']]
['A', 'Jasper', 'neinei']

注意下面程序:(这是我刚开始的时候遇到的问题,久思不得其解,而后恍然大悟)

#下面这一段程序的代码结果是相同的
>>> empty1=empty2=[]
>>> empty1.append("Swan")
>>> empty2.extend(['A','B'])
>>> empty1;empty2
['Swan', 'A', 'B']
['Swan', 'A', 'B']

#但是这一段程序的结果是不同的
>>> empty1=empty2=[]
>>> empty2=[1,2]
>>> empty1=[3]
>>> empty1;empty2
[3]
[1, 2]

第一段程序的empty1和empty2进行了一次初始化,分到了一块相同的空间,所以不管对谁进行添加元素的操作,最终的结果都是empty1和empty2的结果是一样的;然而第二段程序的empty1和empty2都分别进行了两次初始化,第一次初始化两个列表变量指向相同的存储空间,而下面的empty2=[1,2]; empty1=[3]我理解成了是对列表赋值,其实这是与第一次毫不相干的又一次的初始化。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值