前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python列表之班荆道故

Python列表之班荆道故

作者头像
py3study
发布2020-01-19 16:17:06
3610
发布2020-01-19 16:17:06
举报
文章被收录于专栏:python3python3

列表list初识

列表是python的基础数据类型之一 ,它是以[ ]括起来, 每个元素用' , '隔开而且可以存放各种数据类型: list列表的定义:

list_ = []
list_1 = ["aaa","bbb","cccc","ddd"]
list_2 = [1,2,3,4,5]
list_3 = ["abc",145,True,["小明","小红",278,33.9],25.9]

列表的索引和切片操作:

list_1 = ["abc",145,True,["小明","小红",278,33.9],25.9]
# 列表的访问是通过下标的方式
print(list_1[0])  # 访问列表第一个元素
print(list_1[1])  # 访问列表第二个元素
print(list_1[-1]) # 访问列表最后一个元素
print(list_1)     # 访问整个列表

列表的访问与字符串切片类似,通过索引访问列表元素,列表的切片也与字符串类似。

列表的常用方法: append():向列表的末尾追加元素:

list_1 = ["abc",145,True,["小明","小红",278,33.9],25.9]
list_1.append("我是追加的")
# 打印如下内容:
['abc', 145, True, ['小明', '小红', 278, 33.9], 25.9, '我是追加的']

extend(可迭代对象):列表中迭代添加数据:

list_1 = ["abc",145,True,["小明","小红",278,33.9],25.9]
list_1.extend("我是迭代的")
print(list_1)
# 打印如下内容:
['abc', 145, True, ['小明', '小红', 278, 33.9], 25.9, '我', '是', '迭', '代', '的']

注意extend(参数)必须是可迭代的对象如list、str、dict、tuple、set等,如整形、bool是不可迭代的所以不能用作参数

insert(index,object):列表中插入元素。

list_1 = ["abc",145,True,["小明","小红",278,33.9],25.9]
list_1.insert(1,"我是插入的") # 默认插在列表的末尾
# 打印如下内容:
['abc', '我是插入的', 145, True, ['小明', '小红', 278, 33.9], 25.9]

注意:如果用户输入的索引超过列表的范围则添加到列表的末尾。

del 删除列表,列表中的元素:

list_1 = ["abc",145,True,["小明","小红",278,33.9],25.9]
del list_1     # 删除列表中所有元素,包括列表名

list_1 = ["abc",145,True,["小明","小红",278,33.9],25.9]
del list_1[0]  # 根据列表索引进行删除,删除列表中的第一个元素
print(list_1)
# 打印内容如下:
[145, True, ['小明', '小红', 278, 33.9], 25.9]

注意:del是没有返回值的。

pop(index):删除列表元素,如果没找到索引报错。

list_1 = ["abc",145,True,["小明","小红",278,33.9],25.9]
list_1.pop()  # 默认不写参数是删除末尾元素
print(list_1)
# 打印内容如下:
['abc', 145, True, ['小明', '小红', 278, 33.9]]

 pop(索引,提示信息):根据索引删除列表元素,如果没有打印一条提示信息。

list_1 = ["abc",145,True,["小明","小红",278,33.9],25.9]
list_1.pop(1)  #  根据索引删除元素,删除第一个索引元素
print(list_1)
# 打印内容如下:
['abc', True, ['小明', '小红', 278, 33.9], 25.9]

注意:pop()删除是有返回值的,可以用一个变量来接收被删除的数据。

remove(object):根据元素名删除元素。

list_1 = ["abc",145,True,["小明","小红",278,33.9],25.9]
list_1.remove(True)   # 根据元素的名称删除元素
print(list_1)
# 打印内容如下:
['abc', 145, ['小明', '小红', 278, 33.9], 25.9]

clear():清空列表。

list_1 = ["abc",145,True,["小明","小红",278,33.9],25.9]
list_1.clear()
print(list_1)
# 打印内容如下:
[]

copy():拷贝整个列表(浅拷贝)。

list_1 = ["abc",145,True,["小明","小红",278,33.9],25.9]
list_2 = list_1.copy()     # 将list_1拷贝一份到list_2
print(list_2)
# 打印内容如下:
['abc', 145, True, ['小明', '小红', 278, 33.9], 25.9]

reverse():列表倒序,将列表中的内容倒过来(是对列表索引位置的操作,而不是按元素将升序转为降序)

list_1 = [1,3,2,4]
list_2 = ["a","c","b","d"]
list_1.reverse()
list_2.reverse()
print(list_1)     
print(list_2)

# 打印内容如下
[4, 2, 3, 1]
['d', 'b', 'c', 'a']

注意:reverse()函数只能操作本层元素,对于内部嵌套的数据不能进行改变。

list_1 = [1,3,2,4,["a","c","b","d"]]
list_1.reverse()

print(list_1)
# 打印内容如下
[['a', 'c', 'b', 'd'], 4, 2, 3, 1]

sort():升序排列,字符串是按照ASCII码表进行排序。

list_1 = [1,4,88,3,2,77]
list_1.sort()    # 默认升序排列
print(list_1)
# 打印内容如下:
[1, 2, 3, 4, 77, 88]

list_1 = [1,4,88,3,2,77]
list_1.sort(reverse = True)    # 降序排列
print(list_1)
# 打印内容如下:
[88, 77, 4, 3, 2, 1] 

sort()排序只支持同种类型进行对比,不支持其它类型进行对比排序。例如字符串只能和字符串相比,整形只能和整形相比较。

count(str,start,end):统计字符串出现的次数,默认不写start和end将在整个字符串中查找,如果设置start和end则会在指定的范围内进行查找。在字符串中可以指定范围,在列表中不允许指定范围,只能在整个列表进行查找。

buf = "testttt"
num = buf.count("t") # 在整个字符串内进行查找
print(num)
# 打印内容如下:
5

buf = "testttt"
num = buf.count("t",0,4) # 在字符串的前三位进行查找
print(num)
# 打印内容如下:
2


list_1 = [1,145,8,"小明","小红",278,33.9,1,25.9]
num = list_1.count(1)  # 列表中不能指定范围查找
print(num)
#打印如下内容
2

index(object,start,end):默认只写object会在整个列表中进行查找,但是只显示找到第一个元素的索引。可以指定start和end来指定查找范围。.

list_1 = [1,145,8,"小明","小红",278,33.9,1,25.9]
num = list_1.index(8) # 在整个列表中进行查找
print(num)
# 打印如下内容:
2


list_1 = [1,145,8,"小明","小红",278,33.9,1,25.9]
num = list_1.index(8,0,2) # 在前两个元素进行查找,找不到会报错
print(num)
# 打印内容如下:
ValueError: 8 is not in list

range(start,end,step):与列表的切片类似可以指定步长,下面是常用方法:

for i in range(5):
print(i)

for i in range(100,0,-1): # 倒序打印100-1
print(i)

for i in range(1,100,2): # 打印1-100所有奇数
print(i)

for i in range(2,101,2): # 打印1-100所有偶数
print(i)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-05-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档