Python列表小总结

Python学习第二天

列表七十二变

这篇文章python学习day2,是因为列表在python中有着不可或缺的地位,本文主要讲述python入门需要掌握的列表的一些方法,函数。在看完这篇文章后希望你能进一步的了解列表
*在阅读全文后希望你不仅仅对列表有更深刻的体会,希望你对python中内置的函数也有一定了解,对于‘方法‘有一定的体会!

1.0、关于列表的方法入门合集

1.0.0、用下标访问列表元素

①、什么是列表的下标
name = ['alex','tell','Dsion','ming',]
print(name)#①
print(name[0])#②
a = name[1]#③
print(a)#④
print(name[-1])#⑤

对于列表所有的元素都是从下标0开始(从前往后),对于所有列表从后往前都是从-1开始。如上面例子所示

name[0] = 'alex'
name[-4] = 'alex'
name[1] = 'tell'
②、index方法查找下标

写法:列表名.index['元素‘]

name = ['alex','tell','Dsion','ming',]
print(name.index[2])
print(name.index[-1])
#输出为Dsion
ming
③、什么是切片
name = ['alex','tell','Dsion','ming',]
print(name[1:2])
#输出为tell

对于列表的切片写法常见用到三种(一)name[:] 提取所有元素(二)name[下标x:] 取出下标x到末尾的元素 (三)name[:下标y]取出下标y-1及之前所有的元素,包括y-1 (四)name[下标x:下标y] 取出下标x到下标y-1的所有元素包括y-1 **注:以上所有都是以正数下标去切片(从前到后),以负数下标去取的话则是从后到前。

name = ['alex','tell','Dsion','ming',]
print(name[:])
print(name[1:])
print(name[:3])
print(name[:-1])
print(name[-3,-1])
#输出分别为name = ['alex','tell','Dsion','ming',]
#name = ['tell','Dsion','ming',]
#name = ['alex','tell','Dsion','ming',]
#name = ['alex','tell','Dsion','ming',]
#name = ['tell','Dsion','ming',]

1.0.1、对列表进行添加元素

①、使用append()方法对列表末尾添加元素
name = ['alex','tell','Dsion','ming',]
name.append('Xxitf')
print(name)
#输出为
#name = ['alex','tell','Dsion','ming','Xxitf',]
②、insert()方法对列表任意位置添加元素,

(格式为:列表名.insert(下标,‘元素’)

name = ['alex','tell','Dsion','ming',]
name.insert(2,'Xxitf')
print(name)
#输出为name = ['alex','tell',‘Xxitf’,'Dsion','ming',]

1.0.2、删除列表元素

①、使用del []永久删除列表元素,可以使用del切片删除
name = ['alex','tell','Dsion','ming',]
del name[0:2]
print(name)
#输出为name = ['Dsion','ming',]
②、pop()删除末尾元素;pop(下标)删除任意位置的元素(可以提用)
name = ['alex','tell','Dsion','ming',]
name.pop()
print(name.pop())
print(name)
print(name.pop())
#输出为Dsion
#name = ['alex','tell',]
#tell
③、remove()详细删除某个元素,

可以提用,写法为:列表.remove(‘元素’)

name = ['alex','tell','Dsion','ming',]
name.remove('Dsion')
print(name)
print(name.remove('ming'))
print(name)
#输出为name = ['alex','tell','ming',]
ming
name = ['alex','tell',]

1.0.3字符串与列表间的转换

①、join方法将列表转换成字符串

写法:‘元素间用什么隔开’.join(列表),

a = ['yes', 'no', 'yes', 'no', 'yes', 'no']
b = 'or'.join(a)
print(b)
#输出为yesornooryesornooryesorno
②、 split方法将字符串转换成列表

写法:‘字符串’.split(‘以什么将他们隔开’)

b = 'yesornooryesornooryesorno'
print(b.split('or'))
#输出为['yes', 'no', 'yes', 'no', 'yes', 'no']
③、以上两种方法都是临时调用,不改变原值。

2.0、列表变换常见函数使用

2.0.0、对列表进行排序

①、使用sort()方法对列表排序
name = ['alex','tell','Dsion','ming',]
name.sort()
print(name)
#输出为['Dsion', 'alex',  'ming', 'tell'] 默认以大写字母
number = ['1','2','5','3',]
print(number)
#输出为['1','2','3','5',]

②、反向字母排序sort(reverse=True)
name = ['alex','tell','Dsion','ming',]
name.sort(reverse=True)
print(name)
#输出是['tell', 'ming', 'alex', 'Dsion']
③、使用sorted()函数对列表临时排序;写法:sord(变量)

反向排序同②

name = ['alex','tell','Dsion','ming',]
print(sorted(name))
print(name)
print(sorted(name,reverse=True)
#输出为
#['alex','tell','Dsion','ming',]
#['tell', 'ming', 'alex', 'Dsion']
#['Dsion', 'alex',  'ming', 'tell']
④、使用传递参数给列表排序;key = lambda x : x * -1;等同于reverse=True

**对于lambda
特性:
1.lambda函数是匿名的:所谓匿名函数,通俗地说就是没有名字的函数。lambda函数没有名字。

2.lambda函数有输入和输出:输入是传入到参数列表argument_list的值,输出是根据表达式expression计算得到的值。

3.lambda函数一般功能简单:单行expression决定了lambda函数不可能完成复杂的逻辑,只能完成非常简单的功能。由于其实现的功能一目了然,甚至不需要专门的名字来说明
例:
(1)lambda x, y: xy;函数输入是x和y,输出是它们的积xy

(2)lambda:None;函数没有输入参数,输出是None

(3)lambda *args: sum(args); 输入是任意个数的参数,输出是它们的和(隐性要求是输入参数必须能够进行加法运算)

(4)lambda **kwargs: 1;输入是任意键值对参数,输出是1

2.0.1、对于列表相关的计算

①、len()函数计算列表长度

写法为:len(列表)

name = ['alex','tell','Dsion','ming',]
print(len(name))
#输出为4
②、min()和max()取最大和最小值
number = ['1','3','6','2','9',]
print(min(number))
print(max(number)
#输出为1
#9
③、sum用法
number = [1,3,2,6,8,4]
print(sum(number))
#输出为24

思考1:number =[‘1’,‘3’,‘2’,‘6’,‘8’,‘4’]
print(sum(number))会输出什么
思考2:调用numpy模块中的sum和sum有什么区别,优缺点在哪里

2.0.2、列表合并

①、列表相加可以把两个列表合成一个列表
a = ['hel','low','ord!']
b = ['yes','no']
print(a+b)
#输出为['hel', 'low', 'ord!', 'yes', 'no']
②、列表乘以数字,可以将列表复制,并合成一个列表
b = ['yes','no']
print(b*3)
#输出为['yes', 'no', 'yes', 'no', 'yes', 'no']

2.0.3、列表赋值

①、使用下标赋值:

列表[下标] = 元素

a = ['yes', 'no', 'yes', 'no', 'yes', 'no']
a[2] = 'xxx'
print(a)
#输出为a = ['yes', 'no', 'xxx', 'no', 'yes', 'no']
②、整体赋值

必须元素个数于列表长度相等,又叫多重赋值

b = ['yes','no']
b[:] = 'abb','bba'
print(b)
#输出为['abb','bba']

2.0.4、list()和tuple()函数

①、list()函数是列表形式输出
c = 'lallaaa'
print(list(c))
print(c)
#输出为['l', 'a', 'l', 'l', 'a', 'a', 'a']
②、tuple()函数是元组形式输出
b = ['yes','no']
print(tuple())
#输出为('yes','no')
③、list()和tuple()函数都只是临时调用不改变本身值
#相对于①,二②
print(c)
print(b)
#输出为 lallaaa
['yes','no']

2.0.5、复制列表的方法

①、切片复制
a = ['yes', 'no', 'yes', 'no', 'yes', 'no']
b = a[:]
②、copy模块复制列表

写法:(1) 列表a = […] 列表b = copy.copy(a)
(2)对于嵌套的列表使用copy.deepcopy() eg:列表a = [[列表i],[列表g]] b = copy.deepcopy(a)
(3)如果直接b = a 则改变任意a或b的值,则b或a的值跟着改变,对于嵌套的列表使用copy.deepcopy() eg:列表a = [[列表i],[列表g]] b = copy.deepcopy(a)

import copy
a = ['yes', 'no', 'yes', 'no', 'yes', 'no']
b = copy.copy(a)
#如果列表是嵌套列表
i = [['a','b','c'],[1,2,3],['ss','ff','tt']]
b = copy.deepcopy(a)
③、嵌套列表的读取

写法: 列表名[下标][下标]

i = [['a','b','c'],[1,2,3],['ss','ff','tt']]
#我要取‘ss’
print(i[2][0])
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值