列表操作

列表时用方括号括起来的一组元素值,是可变变量,可通过下表取值,也可以通过下表来修改值,列表中的元素是有序的,可以是不同的基本数据类型,如:

names=[1, 2, 3, “abc”, “def”]

列表取值时,下标也是从0开始,最大下标是元素个数减1,即len(names)-1

列表操作的常用方法:

增:

names.append('zhaocunlei')            #从末尾追加元素

names.insert(0,'yinwenqiao')          #指定位置添加元素

删:

names.pop()  #删除列表末尾元素,删谁也把它的值返回了,可用变量接收、用print查看

names.pop(2) #删除指定位置的元素,传参为列表元素下标

names.remove('yinwenqiao')  #删除指定值,传参是列表的一个元素值,不能空参

#该方法不返回被删除的元素值,用print查看返回为None

# print('remove 方法的返回值',names.remove('yinwenqiao'))

# del names[0]  #使用del关键字删除指定元素

# names.clear()  #清空列表

查:

print(names.count('hsdfsdf'))           #查找值在list里面的次数

print(names.index('yinwenqiao'))

#返回查找元素的下标,如果有多个话返回第一个的,如果没有的话就会报错

print(names.index('yinwenqiao',3,4))  #后面可以加上查找开始位置和结束位置

print('zhangyizhou' in names) #用in来判断一个元素是否在list里面,返回布尔值

print(names[-3])                #下标是-1的话,代表最后一个元素

改:

stus = ['yangwb','yangwn','yanghj']

print('加起来的',stus+names)         #两个列表合并,并返回新列表可用变量接收,原列表不变

stus.extend(names)                  #把另一个列表里面的每个值挨个添加到前面的列表中,不返回值

print(stus.extend(names)) # 结果是None

print(stus) # 被增加后的样子

nums = [23,34,21,2,456,35,12324324]

nums.sort()               #排序,默认是升序,不返回值

print('sort:',nums)

nums.sort(reverse=True)                  #排序,指定reverse=True就是降序,不返回值

print('sort降序:',nums)

print(nums.reverse())   #倒序

print(nums)

以上都是单列表的一些基本操作,列表还有多维的,多维列表元素查找时不要慌,引用一样是用下标,注意维度要从外到内。

lis = [1,'lily',19.8,['lily','lilei',['heheh','haha']]]

print(lis[3][2][1])                # 结果为haha

切片操作:

切片的意思就是从list里面或者字符串里面取某个或某几个元素,切片操作对字符串也是完全适用的。

name1 = 'zcl,pyzyz'
names = ['zcl','py','zyz']

print(names[0:2])    #从第几个取到第几个,这个也是顾头不顾尾,此例取的是第0个和第一个这俩元素
print(names[:2])    #如果是从第一个开始取,取到某一个下标结束,那么最前面是可以不写的    
print(names[1:])    #如果是从前面某个开始取,取到最后面结束,那么最后面是可以不写的
print(names[:])      #如果最前面和最后面都不写的话,取整个列表

nums = list(range(1,11))
print(nums[1:10:2])  #如果最后面写上步长的话,就是每隔几个取一次,此例结果是 [2, 4, 6, 8, 10]
print(nums[::2])    #此例结果是 [1, 3, 5, 7, 9]
print(nums[::-2])     #当切片的步长为负数时,是从末尾开始取值的,然后隔几个取一次 [10, 8, 6, 4, 2]
print(nums[::-1])     #如果步长为-1的时候,还有反转的功能 [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

05-11 21:58