0. 列表都可以存放一些什么东西?

我们可以说Python 的列表是一个打了激素的数组,如果把数组比喻成集装箱,那么 Python 的列表就是一个大仓库,Ta 可以存放我们已经学习过的任何数据类型。

mix = [1,"张三",3.14, [1,"李四", 3]]

#如果想得到列表中某个元素,只需要写出位置即可。

mix[0] = 1

mix[1] = "张三"

1. 向列表增加元素有哪些方法?append() -- 增加一个元素至列表末尾(如果是两个元素就会报错),这个元素可以是任何形式。

extend() -- 扩展一个元素到列表末尾(如果是两个元素就会报错),扩展的意思是其可以将2个列表并列。

insert(n,元素) -- 在数列的第n位添加元素

member = [1,2,3]

member.append([4,5])

# 将数列[4,5]做为一个元素,添加进member数列 member = [1,2,3,[4,5,]]

print(member)

member.extend([6,7])

#将数列[4,5]中的每个元素单做单独元素,添加进member数列member = [1,2,3,[4,5],7,8]

print(member)

member.insert(0,"张三")

# 在member第0位添加元素0 member = ["张三",1,2,3,[4,5],7,8]

print(member)

2. 分片应用

当需要获取列表中的一个子部分,就需要使用分片方法,语法为[start:stop:step]start: 开始的位置(默认其实位置)

stop: 结束的位置,不会将该位置的数字列入该新列表(默认末尾+1)

step: 间隔,即多少间隔,取一个值,(默认为1)Remark:

1. 步长不能为0,要不就走不动了

2. 步长可以是负数,改变方向(从尾部开始向左走)

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

list2 = list1[2:6]

# List2 选取list1中,从第二个位置开始,到第六个位置结束的子数列,list2 = [2,3,4,5]

list3 = list1[:]

# List3 选取list1中,从第0个位置开始,到第个9+1位置结束的子数列,list3 = [0,1,2,3,4,5,6,7,8,9]

List4 = list1[::2]

# List4 选取list1中,从第0个位置开始,到第个9+1位置结束,每隔2个位置取一个的子数列

#list4 = [0,2,4,6,8]

# 如果我设置start和stop会负数呢,List 5会是多少?

List5 = list1[-1:-5]

Python 的列表很聪明,支持负数索引,如图:正常索引是从左到右索引,负数索引是从右到左。 所以List5 = [9,8,7,6]

分片完成列表的拷贝 list2 = list1[:],那事实上可不可以直接写成 list2 = list1 更加简洁呢?

list1 = [1, 3, 2, 9, 7, 8]

list2 = list1[:]

print(list2)

# 得出的结果是[1, 3, 2, 9, 7, 8]

list3 = list1

print(list3)

# 得出的结果是[1, 3, 2, 9, 7, 8]

# 看上去貌似一样的,对吧?但事实上呢?我们利用列表的一个小伙伴做下修改

list1.sort()

# sort()是列表的内置排序函数(默认从小到大)

print(list1)

#得到的结果是[1, 2, 3, 7, 8, 9],list1已经从小到大排了个序

print(list2)

#得到的结果[1, 3, 2, 9, 7, 8]

print(list3)

#得到的结果是[1, 2, 3, 7, 8, 9]

#真正的汉奸、墙头草是list3,Ta跟着list1改变了,这是为什么呢?

Python的变量就像一个标签,就一个名字而已,贴哪是哪,指哪打哪,如下图。

这下大家应该明白了吧,在为一个固定的东西指定另一个名字的做法,只是向同一个东西增加一个新的标签而已。

猜猜下面print(new)是什么结果:

old = [1,2,3,4]

new = old

old= [7]

print(new) # 会打印出什么呢?

Remark:

1.列表的拷贝也可以用列表拷贝函数copy()

2. 如果要对列表进行排序,用sort(),默认从小到大,如果想得出从大到小的排序,可以加入reverse()(反转函数)

list1 = [1,2,5,4,3,0]

list2 = list1.copy()

print(list2)

#会得到[1,2,5,4,3,0]

list3 = list1.sort()

print(list3)

#会得到[0,1,2,3,4,5]

list4 =list3.reverse()

print(list4)

#会得到[5,4,3,2,1,0]

#简单的写法

list 5 = list.sort(reverse = true)

print(list5)

#会得到[5,4,3,2,1,0]

3. 删除列表的元素有哪些方法?remove(元素) -- 删除列表中的某一个元素。

del 列表[] -- 删除列表中某个位置元素或者某段位置元素,符号是[]非().

pop(n) -- 删除列表中的n位置的元素,不填默认最后一个元素,并赋值

list1 = [0,1,2,3,4,5]

list1.remove(1)

print(list1)

# 得到结果[0,2,3,4,5]

list2 = list1.remove(0)

print(list2) # 猜猜得到什么

print(list1) # 得到结果[2,3,4,5]

number = [0,12,24,36,48]

del number[1]

print(number)

# 得到结果[0,24,36,48]

del number[:2]

print(number)

# 得到结果[36,48]

del number[:] #清空表格,和number.clear()效果一样

print(number)

# 得到结果[]

member = ["张三","李四","王五","赵二"]

a = member.pop()

print(a) # 猜猜得到什么

print(member) # 得到结果["张三","李四","王五"]

4.其他请问 list1[0] 和 list1[0:1] 一样吗?

不一样,list1[0] 返回第0个元素的值,list1[0:1] 返回一个只含有第0个元素的列表。

List1 = [0,1,2,["today","tomorrow"],4]

list1[0] = 0 #返回第0个元素的值

list1[0:1] = [0] #返回一个只含有第0个元素的列表

#如何将"yesterday"插入到today 前面?

list1[3].insert(0,"yesterday")

print(list1)

#得到结果应该是 [0,1,2,["yesterday","today","tomorrow"],4]

# 如何将列表中元素替换

#将["yesterday","today","tomorrow"] 替换成3

list1[3] = 3

print(list1)

#结果应该是[0,1,2,3,4]

#如果将2,3,4换成3,4,5

list1[2:] = [3,4,5]

print(list1)

#结果应该是[0,1,3,4,5]如果你每次想从列表的末尾取出一个元素,并将这个元素插入到列表的最前边,你会怎么做?

>>> list1.insert(0, list1.pop())列表中内置函数(没介绍的)count(元素) -- 计算元素在列表中有多少个

index(元素,start,stop) -- 查找该元素在start位置到stop位置的第几个(start 和 stop不填默认为全部元素),如果含有多个元素,只返回第一个值。

list1 = [0,1,2]

list2 = [3,4]

list3 = list1 + list2

print(list3) # 结果为 [0,1,2,3,4]

list4 = list2 * 4

print(list4) # 结果为 [3,4,3,4,3,4,3,4]

print(list4.count(3)) # 结果为 4

print(list4.index(4)) # 结果为 1列表列表推导式或列表解析

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

number1 = [ i*i for i in range(10) ]

print(number1) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

#其实上面上面这个语法相当于

list1 = []

for x in range(10):

list1.append(x**2)

print(list1)

问题:请先在 IDLE 中获得下边列表的结果,并按照上方例子把列表推导式还原出来。

>>> 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) and (y%2 !=0):

list1.append((x,y))

print(list1)

问题:请使用列表推导式补充被涂掉的部分

答案:list3 = [name+":"+slogan[2:] for slogan in list1 for name in list2 if slogan][0]=name[0]]

python菜单函数_Python 自学笔记- 列表及其内置函数相关推荐

  1. python middle()_Python自学笔记(七):函数

    写在前面: 在两个电脑上编辑总是莫名其妙丢失内容,发现前面的笔记有丢失的部分,又回去补充了. 记到函数这一部分,书中案例会不断使用前面所学,所以会发现笔记有不完善的地方,以及在学习过程产生的疑问,会自 ...

  2. python len函数_Python 初学者必备的常用内置函数

    Python 作为一门高级编程语言,为我们提供了许多方便易用的内置函数,节省了不少开发应用的时间.目前,Python 3.7 共有 69 个内置函数,一些是我们耳熟能详的函数,另一些却不是很常见,这里 ...

  3. python lambda 逻辑_Python之lambda表达式和内置函数

    lambda表达式其实就是简化的函数表达式. 它只用于处理简单逻辑, 它会自动return数据 通常定义一个函数,按照以下形式:def func(arg): return arg +1 result ...

  4. python拟合三元函数_python基础教程之常用内置函数、三元运算、递归

    目录 常用内置函数 abs/round/sum eval/exec enumerate max/min sorted zip map filter 补充:reduce lambda 初识递归 再谈递归 ...

  5. python中比较重要的几个函数_Python 几个重要的内置函数 python中的内置函数和关键字需要背过吗...

    python重要的几个内置函数用法 python内置函数什么用忘不掉的是回忆,继续的是生活,错过的,就当是路过吧.来来往往身边出现很多人,总有一个位置,一直没有变.看看温暖的阳光,偶尔还是会想一想. ...

  6. python中的json函数_python中装饰器、内置函数、json的详解

    装饰器 装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象. 先看简单例子: def run(): time.sleep(1 ...

  7. inrange函数_Python 初学者必备的常用内置函数

    本文纲要 Python 作为一门高级编程语言,为我们提供了许多方便易用的内置函数,节省了不少开发应用的时间.目前,Python 3.7 共有 69 个内置函数,一些是我们耳熟能详的函数,另一些却不是很 ...

  8. python用psf函数_python学习之-类的内置函数

    内置方法:__str__(该方法必须返回字符串类型),在对像被打印时自动触发,然后将该方法的返回值当做打印结果输出) class People: def __init__(self,name,age) ...

  9. python eval 入门_Python学习笔记整理3之输入输出、python eval函数

    Python学习笔记整理3之输入输出.python eval函数 来源:中文源码网    浏览: 次    日期:2018年9月2日 Python学习笔记整理3之输入输出.python eval函数 ...

最新文章

  1. session_id
  2. 7.git提交的前进与后退
  3. Python中Numpy库中的Numpy常量
  4. metinfo mysql off_利用Sqlmap测试MetInfo企业网站管理系统MySql注入
  5. RTOS osDelay和taskDelay关系
  6. 异步保存数据到mysql或mssql 学习笔记
  7. android引用X5内核webview部分问题记录
  8. 大华海康NVR录像JAVA下载及WEB播放
  9. 三分钟上马 ESP32 spiffs文件系统
  10. pick_types()函数及参数 meg eeg stim eog ecg
  11. Python做一个“盯盘机器人”,实时监控股票价格并通知你!
  12. 微信小程序 定位 获取经纬度城市街道等位置信息
  13. 输入一个数n,然后打印出2的n次方
  14. 资讯汇总230128
  15. 提供4款WEB网页游戏源码下载,亲测绝对可以用
  16. 企业为何要建设工业互联网标识解析节点?
  17. 华亭一中2021年高考成绩查询,华亭一中2019高考又传佳讯!
  18. ios 倒数器_Clover旗下iOS应用Widgets全线更新:倒数器、新闻画报、全球天气
  19. PDMA(Pattern Division Multiple Access) 非正交多址接入
  20. Python学习笔记之网络爬虫

热门文章

  1. javascript数组去重方法汇总
  2. 使用SQL Server作业设置定时任务
  3. 【python】获取PC机公网IP并发送至邮箱
  4. Python获取两个列表list的不同之处
  5. 幼儿园计算机教师论文,幼儿园中班教师论文
  6. 解释下列术语计算机系统结构,计算机系统结构第5章部分习题参考答案
  7. linux内核io源码,Linux Kernel do_io_submit()函数整数溢出漏洞
  8. 经典兔子问题python视频_Python练习题 007:兔子生兔子
  9. 第五人格维修服务器时间,第五人格调整维护时间 第五人格新赛季奖励皮肤一览...
  10. 多个python脚本同时执行_Python实现脚本锁功能(同时只能执行一个脚本)