python初识——列表

1.认识列表

列表可以放入所有我们目前学习过的数据类型,甚至包括列表

2.有关列表的方法、内置函数(设列表的名称为list)

向列表中添加元素:
append():list.append(要添加的元素),注意每次只能添加一个元素,被添加的元素自动添加到列表末尾
extend():list.extend([元素1,元素2]),以列表的形式追加新元素到原列表,每次可以添加多个元素,被添加的元素自动添加到列表末尾
插入元素:
insert():list.insert(a,b)a表示要追加的位置(注意起始位置为0),b表示被插入的元素
remove():list.remove(‘元素名’)(注意:元素必须存在于列表中,否则会报错)
pop():弹栈,list.pop(索引值),默认弹出列表最后一个元素
sort(): list.sort(),对一个列表进行顺序排序,从小到大
reverse(): list.reverse(),对一个列表进行逆序排序
copy() : list.copy(),拷贝一个列表
clear():list.clear(),将一个列表清空,变成一个空列表
count(计数):list.count(‘str’) 查找str出现的次数
比较两个列表的元素:operator.eq(list1,list2)(前提需import operator)
计算列表元素个数:len(list1)
返回列表中元素最大值:max(list1)
返回列表中元素最小值:min(list1)
将元组转换为列表:list(tuple1)

3.列表索引

通过list[索引值]的方法可以打印列表中的元素,索引值从0开始计数,因此list[1]打印第二个元素,同时列表支持负数索引,正常索引是从左到右索引,负数索引是从右到左,-1、-2、-3…

4.列表分片

list[1:3]:原列表list中索引值1~3的元素组成新的列表
list[1:]:索引值从1开始到最后一个元素
list[:]:原列表所有元素,特别的list2 = list[:]完成列表的拷贝
list[0:9:2]:索引从2开始到索引8,跨步2取数
list[::-1]:完成原列表的反转
分片可以设置之前学过的步长,步长可以设置为正数、负数,但不能设为0,否则会报错,当步长为负数时,则改变方向(从尾部开始向左走)。

5.列表推导式或列表解析

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

>>> list1 = [x**2 for x in range(10)]
>>> list1
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> 

一个严肃的问题

list2=list1[:]
list3=list1
这里总共有三组列表,分别是list1、list2、list3,需要注意的是list1和list2指向的列表是不同,list3和list1指向的列表则是相同的
这里我们需要知道list2拷贝了list1,虽然两者相同,却等同于在内存中将一份数据复制了一份,它们指向的数据的地址是不同的,因此他们是不同的变量。list1、list2、list3像三个标签,分别指向对应的数据,list3和list1指向的是同一数据,因此他们是相同的

小问题

利用 for 循环成对打印上边 list 列表中的每个内容

list = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
for each in range(len(list)):
    if each%2 == 0:
        print(list[each], list[each+1])

从列表的末尾取出一个元素,并将这个元素插入到列表的最前边

list1.insert(0, list1.pop())

Tips

1.列表相加直接拼接,而不是把元素的值加在一起,但不能列表加元素,因为加号两边必须是一样的类型
2.sort(reverse=True)表示从大到小,默认为False

忠告

学会print,我们可以在程序中各个地方打印某个变量的值、类型等,从而探究程序是否像我们想象的那样执行。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值