搞定Python面试必问知识点——列表

Python3有6种标准类型:(Number(数字)、String(字符串)、Tuple(组),List(列表)、Dictionary(字典)、Set(集合))。其中,列表是Python中最基本也是最常用的数据结构。列表中的每个元素都分配一个数字,即它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。在关于python测试开发的面试中,列表是被问及频率最高的知识点,没有之一!本文详细的介绍了列表中常用的方法,只要读者理解了这些方法,那么就搞定了python的列表,无论是应对面试还是解决工作中的实际问题都会感到得心应手!
 

以下代码都经过了实际测试,建议大家亲自动手调试,一定会有不一样的收获!

# -*- coding: UTF-8 -*-
l1 = ['a','b','c','d']

# list 转换成string
str = '|'.join (l1)
print(str)

#元素是否在列表中
print( 'a'in l1)

#list 元素更改值
l1[0]='a1'
print(l1)

#访问list中的元素
print(l1[0]) #第一个元素
print(l1[len(l1)-1]) #最后一个元素

#遍历list
#方法1
print (l1)
#方法2
for i in l1:
    print(i)

#方法3,索引和值
for i , value  in enumerate(l1):
    print(i , value)

#获取list长度
print(len(l1))

#添加元素
#list尾部添加元素
l1.append('e')
print(l1)

#list指定位置添加元素
l1.insert(0,'a')
print(l1)

#删除元素
#删除list尾部元素
l1.pop()
print(l1)

#删除list指定位置的元素
l1.pop(1)
print(l1)
#删除list中的某某元素
l1.remove('a')
print(l1)

#查找list中出现某某元素的索引位置
print(l1.index('b'))


#list元素反转
l1.reverse()
print(l1)

#清空列表
l1.clear()
print(l1)

#查找list特定元素的个数
l2=[1,3,9,9,5,4]
print(l2.count(9))

#list排序,注意l2.sort()无返回值,所以直接print(l2.sort())返回None
l2.sort() #默认升序排序
print(l2)
l2.sort(reverse=True) #降序排序
print(l2)

#返回列表元素最大值
print(max(l2))

#返回列表元素最小值
print(min(l2))#元素是否在列表中
print( 'a'in l1)

#list 元素更改值
l1[0]='a1'
print(l1)

#访问list中的元素
print(l1[0]) #第一个元素
print(l1[len(l1)-1]) #最后一个元素

#遍历list
#方法1
print (l1)
#方法2
for i in l1:
    print(i)

#方法3,索引和值
for i , value  in enumerate(l1):
    print(i , value)

#获取list长度
print(len(l1))

#添加元素
#list尾部添加元素
l1.append('e')
print(l1)

#list指定位置添加元素
l1.insert(0,'a')
print(l1)

#删除元素
#删除list尾部元素
l1.pop()
print(l1)

#删除list指定位置的元素
l1.pop(1)
print(l1)
#删除list中的某某元素
l1.remove('a')
print(l1)

#查找list中出现某某元素的索引位置
print(l1.index('b'))


#list元素反转
l1.reverse()
print(l1)

#清空列表
l1.clear()
print(l1)

#查找list特定元素的个数
l2=[1,3,9,9,5,4]
print(l2.count(9))

#list排序,注意l2.sort()无返回值,所以直接print(l2.sort())返回None
l2.sort() #默认升序排序
print(l2)
l2.sort(reverse=True) #降序排序
print(l2)

#返回列表元素最大值
print(max(l2))

#返回列表元素最小值
print(min(l2))
'''
切片(list 取值的一种方法)
list[n:m]  切片是不包含后面那个元素的值(顾头不顾尾)
list[:m] 如果切片前面一个值缺省的话,从开头开始取
list[n:] 如果切片后面的值缺省的话,取到末尾
list[:] 如果全部缺省,取全部
list[n:m:s] s:步长  隔多少个元素取一次
步长是正数,从左往右取
步长是负数,从右往左取
'''

l3=['a','b','d','e','f','g']
print(l3[1:3])  #输出['b', 'd']
print(l3[2:])   #输出['d', 'e', 'f', 'g']
print(l3[0:3:2])  #输出['a', 'd']
print(l3[::-1])   #输出['g', 'f', 'e', 'd', 'b', 'a'] 倒序输出

'''
列表生成式
列表生成式是Python内置的非常简单却强大的可以用来创建list的生成式。
'''
#用法1 range
'''
range() 函数可创建一个整数列表
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)实例
'''

print(range(5)) #创建列表,值是[0, 1, 2, 3, 4]
print(range(0,10,2))#创建列表,值是[0, 2, 4, 6, 8]

#用法2,列表生成式还可以用一行语句代替循环生成lsit
l4=[1,2,3,4]
l5=list(x * x for x in l4) #x * x是新建list中的元素创建规则,即新建的list是l4中的元素*元素得来
print(l5)

#列表的拷贝
l6=[1,2,3,4]
l7=l6  #浅拷贝,浅拷贝即只拷贝引用,仍然指向同一个内存地址,修改其中任何一个都会使所有的引用改变
l8=l6[:] #深拷贝,拷贝内容至新的内存地址当中,两个list有不同的引用
#l8=l6.copy() #深拷贝
print(id(l6)) #l6和l7指向同一个地址
print(id(l7)) #l6和l7指向同一个地址
print(id(l8)) #l6和l7指向不同地址

print(l7)
print(l8)
l6.reverse() #改变l6
print(l7) #输出[4, 3, 2, 1],浅拷贝影响输出
print(l8) #输出[1, 2, 3, 4],深拷贝未影响输出

 

根据本文提供的列表常用api各位同学可以自己动手尝试编码!原创不易,如果文章帮到了你,欢迎转发,让更多的朋友受益!每天进步一点点,终会质变!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值