python中的列表内置方法小结

#!/usr/local/bin/python3
# -*- coding:utf-8 -*-

'''
names=['zhangyu','mahongyan','zhangguobin','shachunhua']
-----增-----
names.append('zhangzhongjian')  #在list尾部插入一个元素
names.insert(1,'aaa')   #在list指定位置插入一个元素

-----删-----
names.remove('zhangyu')    #删除list中名为'zhangyu'的元素
del names[1]    #删除list中指定位置的元素
names.pop()     #默认删除list中最后一个元素
names.pop(0)    #删除list中指定位置的元素

-----改-----
names[2]='bbb'

-----查-----
print(names[0],names[2])
print(names[0:3])   #顾头不顾尾/切片
print(names[-1])    #取最后一个
print(names[-2:])   #取最后两个
print(names[:3])    #取前两个

-----查找-----
print(names.index('zhangyu'))   #查找'zhangyu'在list中的下标(位置)
print(names[names.index('zhangyu')])    #根据下标取回list中相应的值

-----统计-----
print(names.count('zhangyu'))   #统计'zhangyu'在list中出现的次数

-----清空-----
names.clear()   #清空list中的元素

-----反转-----
names.reverse()    #反转整个list

-----排序-----
names.sort()    #对list进行排序,优先级为:特殊符号-->数字-->大写字母-->小写字母

-----合并list-----
names2=[1,2,3,4]   #将names2合并到names中
names.extend(names2)
del names2   #删除names2
print(names)

-----复制-----
names1=['zhangyu','mahongyan',['aaa','bbb'],'zhangguobin','shachunhua']
names2=names1.copy()
print(names2,names1)
names1[0]='张宇'
names1[2][0]='abc'
print(names2,names1)    #由此可以看出,当names1中元素发生变更时,names2并未完全copy names1(浅copy)
                        #那么如何进行深copy呢?-->引入copy模块
import copy
names1=['zhangyu','mahongyan',['aaa','bbb'],'zhangguobin','shachunhua']
names2=copy.deepcopy(names1)    #深copy
print(names2,names1)
names1[0]='张宇'
names1[2][0]='abc'
print(names2,names1)    #此时无论names1中元素如何变化,names2中的元素依然是初始的names1中的元素

-----循环-----
for x in names:
    print(x)

-----步长切片-----
print(names[0:-1:2])
'''

  

posted @ 2018-05-04 20:25  Octopuslnlzy  阅读(451)  评论(0)    收藏  举报