您的位置: 网站首页> python基础> 当前文章
python列表定义,增删改查元素,切片等操作
老董-我爱我家房产SEO2020-08-29184围观,107赞
场景
前面学习的字符串可以用来存储一串信息,继续想一想,怎样存储一个网站所有用户昵称呢?
定义100个变量,每个变量存放一个昵称?还是定义一个长长的字符串含有所有昵称?当然有更好的办法——列表!
一:列表格式及创建:
1. 一维列表
1) 创建一个空列表
2)创建自定义的列表
比C语言的数组强大的地方在于列表中的元素可以是不同类型的
2. 多维列表(列表嵌套)
3. 列表推导式创建列表
# ‐*‐ coding: utf‐8 ‐*‐ # 空列表 print('以下是空列表') list1 = list() list2 = [] list3 = ''.split() print(list1,list2,list3) #可以一起打印出来 # 自定义列表,每个列表元素之间是使用英文逗号隔开的 print('以下是自定义列表') list1 = [1,2,3] list2 = ['a', 'b', 'c'] list3 = [1, '2', 'a', 4.5, '大师'] list4 = "abcd".split() list5 = list('1234abcd') print(list1,list2,list3,list4,list5) # 多维列表 print('以下是多维列表') schoolNames = [['北京大学','清华大学'],['南开大学','天津大学','天津师范大学'],['山东大学','中国海洋大学']] print(schoolNames) # 列表推导式 print('以下是列表推导式') list1 = [x for x in range(5)] print(list1)
D:installpython3python.exe D:/pyscript/python3_script/test66.py 以下是空列表 [] [] [] 以下是自定义列表 [1, 2, 3] ['a', 'b', 'c'] [1, '2', 'a', 4.5, '大师'] ['abcd'] ['1', '2', '3', '4', 'a', 'b', 'c', 'd'] 以下是多维列表 [['北京大学', '清华大学'], ['南开大学', '天津大学', '天津师范大学'], ['山东大学', '中国海洋大学']] 以下是列表推导式 [0, 1, 2, 3, 4] Process finished with exit code 0
二 列表访问
# ‐*‐ coding: utf‐8 ‐*‐ # 一位列表访问 print('以下是一维列表访问') list1 = [1,'a',3] print(list1[0],list1[1]) # 多维列表访问 print('以下是多维列表访问') schoolNames = [['北京大学','清华大学'],['南开大学','天津大学','天津师范大学'],['山东大学','中国海洋大学']] print(schoolNames[0][1]) # for循环遍历访问 print('以下是for循环访问') for i in list1: print(i) # while循环遍历访问 print('以下是while循环遍历') length = len(list1) num = 0 while num < length: print(num) num+=1 # 利用pop方法 print('以下是pop方法') list1 = [1, 2, 3, 4, 5] a = list1.pop() print(a)
D:installpython3python.exe D:/pyscript/python3_script/test66.py 以下是一维列表访问 1 a 以下是多维列表访问 清华大学 以下是for循环访问 1 a 3 以下是while循环遍历 0 1 2 以下是pop方法 5 Process finished with exit code 0
三:列表常见操作
1. 增加元素:
append:追加元素
extend:另一个集合中的元素逐一添加到列表中
insert:指定插入
2. 修改元素:
根据下标确定
3. 删除元素:
del:根据下标进行删除
pop:删除最后一个元素
remove:根据元素的值进行删除
4. 查找元素:
in,not in
python中查找的常用方法为:
in(存在),如果存在那么结果为true,否则为false
not in(不存在),如果不存在那么结果为true,否则false
5. index,count
index和count与字符串中的用法相同
# ‐*‐ coding: utf‐8 ‐*‐ # 追加元素 print('以下是追加元素--append') list1 = [1,2] list1.append('lao wang') print(list1) print('以下是指定位置追加元素--insert') list2 = [1,2] list2.insert(1,'lao wang ') print(list2) print('以下是把一个列表元素扩展到另一个列表--extend') list1 = [1,2,3,4] list2 = ['lao wang','lao zhang'] list1.extend(list2) print(list1) print('-----------------------------------------------') # 修改元素 print('以下是通过下标修改') list1 = [1,2,3] list1[0] = 'a' print(list1) print('以下是切片修改') list1 = [1,2,3] list1[0:2] = 'aaa' print(list1) print('---------------------------------------------------------') # 删除元素 print('以下是通过下标删除') starName = ['吴京','陈龙','鹿晗','李连杰'] del starName[2] print(starName) print('以下是pop默认删除最后一个元素') starName = ['吴京','陈龙','鹿晗','李连杰'] starName.pop() starName.pop(0) # 也可以指定下标删除 print(starName) print('以下是remove删除指定元素') starName = ['吴京','孙红雷','鹿晗','李连杰'] starName.remove('鹿晗') print(starName) print('--------------------------------------------') print('以下是in not in的使用') list1 = [1,2,3,'a','a','b','c'] if 1 in list1: print('yes') else: print('NO') print('-----------------------------') print('index count 返回首次出现的位置,统计出现次数') print(list1.index('a')) print(list1.count('a'))
D:installpython3python.exe D:/pyscript/python3_script/test66.py 以下是追加元素--append [1, 2, 'lao wang'] 以下是指定位置追加元素--insert [1, 'lao wang ', 2] 以下是把一个列表元素扩展到另一个列表--extend [1, 2, 3, 4, 'lao wang', 'lao zhang'] ----------------------------------------------- 以下是通过下标修改 ['a', 2, 3] 以下是切片修改 ['a', 'a', 'a', 3] --------------------------------------------------------- 以下是通过下标删除 ['吴京', '陈龙', '李连杰'] 以下是pop默认删除最后一个元素 ['陈龙', '鹿晗'] 以下是remove删除指定元素 ['吴京', '孙红雷', '李连杰'] -------------------------------------------- 以下是in not in的使用 yes ----------------------------- index count 返回首次出现的位置,统计出现次数 3 2 Process finished with exit code 0
四 列表排序:(sort,reverse)
sort方法是将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。
reverse方法是将list逆置。
# ‐*‐ coding: utf‐8 ‐*‐ a = [1, 4, 2, 3] a.reverse() print(a) a.sort() print(a) a.sort(reverse=True) print(a)
D:installpython3python.exe D:/pyscript/python3_script/test66.py [3, 2, 4, 1] [1, 2, 3, 4] [4, 3, 2, 1] Process finished with exit code 0
五 列表切片:
和字符串用法一致(自行尝试)
[:]得到整个列表中的所有元素
[:end]得到从开始到end-1的所有元素
[start:]得到从start开始到结束的所有元素
[start:end]得到从start到end-1的所有元素
[start:end:step]从start到end中每隔step取一个元素
六 操作符(+ *)
操作 | 结果 |
---|---|
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] |
['Hi!'] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] |
七 列表高级操作(先知道这么回事)
所谓的高级操作并不是列表本身多高级,而是利用一些高级函数来操作列表,下面这些python的内置函数(内置函数就是python生来就有)除了操作列表也能操作其他可迭代对象。(详细使用: sum函数、zip函数、enumerate函数、map函数)
函数 | 说明 |
---|---|
sum(iterable,[, start]) | iterable为可迭代对象,将其中每个数进行相加,iterable的元素必须是数值 |
zip([iterable, ...]) | 返回一个可迭代对象,对象中的每个值是iterable中元素的索引及值组成的元组 |
enumerate(iterable[,start]) | 返回一个枚举对象(可迭代),对象中的每个值是iterable中元素的索引及值组成的元组 |
map(func, iterable,iterable,..) | 对一个或多个iterable中的每个元素调用指定的funct函数,并返回一个 map 对象 |
很赞哦!
python编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群
相关文章
文章评论
-
python列表定义,增删改查元素,切片等操作文章写得不错,值得赞赏
站点信息
- 网站程序:Laravel
- 客服微信:a772483200