零基础学python第八课 列表:一个打了激素的数组

一、列表都可以存放一些什么东西?
列表中可以存放我们所学过的任何数据类型;
mix = [1, ‘小甲鱼’, 3.14, [1, 2, 3]]
二、向列表中增加元素
【1】append()
Member.append(‘呼噜娃’)
只能添加一个元素;
【2】extend()
member.extend([‘竹林栈’,’胖子’])
可以添加多个元素(不是插入一个列表);
【3】insert()
member.insert(n,’胖胖呀’)
在n位置插入元素
在这里插入图片描述
三、append() 方法和 extend() 方法都是向列表的末尾增加元素,请问他们有什么区别?
append() 方法是将参数作为一个元素增加到列表的末尾。
extend() 方法则是将参数作为一个列表去扩展列表的末尾。
请看示例:

name = [‘F’, ‘i’, ‘s’, ‘h’]
name.append(‘C’)
name
[‘F’, ‘i’, ‘s’, ‘h’, ‘C’]
name.extend([’.’, ‘c’])
name
[‘F’, ‘i’, ‘s’, ‘h’, ‘C’, ‘.’, ‘c’]
name.append([‘o’, ‘m’])
name
[‘F’, ‘i’, ‘s’, ‘h’, ‘C’, ‘.’, ‘c’, [‘o’, ‘m’]]

四、利用 for 循环打印 member 列表中的每个内容
member = [‘小甲鱼’, 88, ‘黑夜’, 90, ‘迷途’, 85, ‘怡静’, 90, ‘秋舞斜阳’, 88]
实现:
for each in member:
print(each)
五、列表可以当数组一样操作,取每个值
print(member[count], member[count+1])
六、列表分片
list1 = [1, 3, 2, 9, 7, 8]
list1[2:5]
[2, 9, 7](注意不包含 8 哦,因为 5-2==3,只有三个元素)
冒号的作用:从。。。。。到。。。。。。
七、请问 list1[0] 和 list1[0:1] 一样吗?
不一样,list1[0] 返回第0个元素的值,list1[0:1] 返回一个只含有第0个元素的列表。
八、如果你每次想从列表的末尾取出一个元素,并将这个元素插入到列表的最前边,你会怎么做?
list1.insert(0, list1.pop())
九、Python 的列表很聪明,竟然支持负数索引
在这里插入图片描述
十、在进行分片的时候,我们知道分片的开始和结束位置需要进行指定,但其实还有另外一个隐藏的设置:步长。
在普通的分片操作中,步长默认设置为1,表示逐个遍历元素。其实我们可以人为调整步长以达到不可告人的秘密。

list1=[0,1,2,3,4,5,6,7,8]
list1[0:6:2]
[0, 2, 4]

但是注意步长不能为0。
十一、列表的拷贝的两种方式以及区别
(1)list2 = list1[:];
(2) list3 = list1;

区别:list2不会因为list1的变化而变化,list3会因为list1的变化而变化,可以说,list2是另一个列表,list3只是list1的一个小名;
(3)另一个例子

old = [1, 2, 3, 4, 5]
new = old
old = [6]
print(new)
会打印:[1, 2, 3, 4, 5]

解析如下:首先创建了一个列表[1, 2, 3, 4, 5],由old指向它,然后new也指向它,目前就是列表[1, 2, 3, 4, 5]有两个名字:old和nwe,然后创建了新的列表[6],old变成了列表[6]的名字,目前就是old指向[6],new指向[1, 2, 3, 4, 5]。
十二、列表的嵌套
请问如何将下边这个列表的’小甲鱼’修改为’小鱿鱼’?
list1 = [1, [1, 2, [‘小甲鱼’]], 3, 5, 8, 13, 18]
list1[1][2][0] = ‘小鱿鱼’
十三、列表进行顺序排序
列表名.sort()

十四、列表进行逆序排序
列表名.sort()
列表名.reverse()
或者 列表名.sort(reverse=True)
十五、列表里的两个内置方法,copy()和clear()
copy() 方法跟使用切片拷贝是一样的:

list2 = list1.copy()
list2
[1, [1, 2, [‘小甲鱼’]], 3, 5, 8, 13, 18]

clear() 方法用于清空列表的元素,但要注意,清空完后列表仍然还在哦,只是变成一个空列表。

list2.clear()
list2
[]
十六、列表推导式或列表解析
列表推导式(List comprehensions)也叫列表解析,灵感取自函数式编程语言 Haskell。Ta 是一个非常有用和灵活的工具,可以用来动态的创建列表,语法如:
[有关A的表达式 for A in B]

例如:
(1)>>> list1 = [x2 for x in range(10)]
list1
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
等价于
list1 = []
for x in range(10):
list1.append(x
2)
(2)>>> list1 = [(x, y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0]
等价于
list1 = []
for x in range(10):
for y in range(10):
if x%2 == 0:
if y%2 != 0:
list1.append((x, y))

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值