Python 学习笔记 基本数据类型内置方法 之 序列类型

基本数据类型:

序列类型: list,tuple,range

优先掌握的操作:

  • 按索引存取值(正向存取+反向存取):即可存也可以取 
  • 切片(顾头不顾尾,步长)
  • 长度
  • 成员运算in和not in
  • 追加
  • 删除
  • 循环

列表 list

作用:按索引位置放置多个值

定义:[ ] 中括号内,每个元素间用逗号隔开

点击收起代码
l1 = [1,'a',[1,2]]  # 本质:l1 = list([1,'a',[1,2]])

类型转换:

但凡能够被for循环遍历的类型都可以当作参数传给list()转成列表类型,list()会跟for循环一样遍历出数据类型中包含的每一个元素然后放到列表中

list('hello')  #  结果: ['h', 'e', 'l', 'l', 'o']
#  原理 等同与for循环
l1 = []
for x in 'hello':
    l1.append(x)   #  结果: ['h', 'e', 'l', 'l', 'o']
# ===================
list({"name":"jason","age":18})  #  结果:['name', 'age']
list((1,2,3))  #  结果:[1, 2, 3] 
list({1,2,3,4})  #  结果:[1, 2, 3, 4]

 

优先掌握:

1、按索引取值(正向存取+反向存取):即可以取也可以改

(代码隐藏)点击查看代码
# 1、按索引取值(正向存取+反向存取):即可以取也可以改
# 例
l = [111, 'egon', 'hello']

# 正向取
res = l[0]  # 111

# 反向取
res = l[-1]  # hello

# 也可以取可以改:索引存在则修改对应的值
# 把l列表索引位置0的元素修改为222
l[0] = 222  # [222, 'egon', 'hello']
# 无论是取值操作还是赋值操作:索引不存在则报错

 2、切片(顾头不顾尾,步长)

(代码隐藏)点击查看代码
# 2、切片
# 【切片】是属于copy行为 (顾头不顾尾)索引的扩展应用
# 取值前三个
l = [111, 'egon', 'hello', 'a', 'b', 'c', 'd']
# 正向取值
x = l[0:3]  # [111, 'egon', 'hello']
# 正向步长取值 步长 (2)
x1 = l[0:5:2]  # [111, 'hello', 'b'] 取索引位置 0 2 4 的值
# 把整个列表倒过来,反向取值
x2 = l[::-1]  # ['d', 'c', 'b', 'a', 'hello', 'egon', 111]
# 把列表切出来赋值给新列表
new_l = l[:]  # 等同于浅拷贝一个列表给新列表new_l
#####################################################

 3、长度

(代码隐藏)点击查看代码
# 3、长度
# 列表统计 len统计的是元素的个数
X = len([1, 2, 3])  # 3 3个元素
#####################################################

4、成员运算in和not in

(代码隐藏)点击查看代码
# 4、成员运算in 和 not in
# 判断aaa是否存在与列表
if 'aaa' in ['aaa', 1, 2]:
    i = "yes"
else:
    i = "no"
    # 输出结果 yes
######################################################

 5、追加

(代码隐藏)点击查看代码
# 5、往列表里******添加*****值
# 5.1、追加
# (了解) append默认在列表最末端追加
# 例
l = [111, 'egon', 'hello']
l.append(1233)  # [111, 'egon', 'hello', 1233]
l.append(4445)  # [111, 'egon', 'hello', 1233, 4445]
#############
# 5.2、插入值
# insert按照指定索引位置插入值
# 例
l = [111, 'egon', 'hello']
l.insert(1, 2222)  # [111, 2222, 'egon', 'hello']
# print(l)
#############

 6、添加

(代码隐藏)点击查看代码
# # 6、 添加
# # 往列表里添加子列表
l = [111, 'egon', 'hello']
new_l = [1, 2, 3]
# l.append(new_l)  # [111, 'egon', 'hello', [1, 2, 3]]
# # print(l)
####
# # 把新列表的值添加到现有列表内
# 实现代码
for itme in new_l:
    l.append(itme)  # [111, 'egon', 'hello', 1, 2, 3]
# print(l)
#####
# extend实现上述功能(推荐)
l.extend(new_l)  # [111, 'egon', 'hello', 1, 2, 3]
l.extend('abc')  # [111, 'egon', 'hello', 'a', 'b', 'c']
#########################################################

 7、删除

(代码隐藏)点击查看代码
# 7、删除
# 方式一:del通用的删除方法,只是删除没有返回值,不支持赋值语法。
l = [111, 'egon', 'hello']
del l[1]  # [111, 'hello']
######
# # 方式二:.pop是根据索引删除,会返回删除的值。
l = [111, 'egon', 'hello']
l.pop()  # [111,'egon'] 默认删除列表最后一个
l.pop(1)  # [111,'hello']
# res = l.pop(1)  # egon 返回删除的值
######
# 方式三:.remove()回根据元素删除,返回None
l = [111, 'egon', 'hello', ['a', 'b', 'c']]
l.remove(['a', 'b', 'c'])  # [111, 'egon', 'hello']
#########################################################

 8、循环

(代码隐藏)点击查看代码
# 8、循环
l1 = [1, 'aaa', 'bbb']
for x in l1:  # 把列表循环出单个元素输出
# !!!!!!!!!!需要掌握!!!!!!!!!!!
l = [1, 'aaa', 'bbb', 'aaa', 'aaa']
############################
# 1、l.count() 查找元素出现次数
res = l.count('aaa')  # 输出结果 3 表示在l列表里出现3次
#############
# 2、l.index() 查找元素索引位置,找不到元素程序就报错
res = l.index('aaa')  # 输出结果 1 表示 'aaa' 在列表里的索引是1
#############
# 3、l.clear()  # 清空整个列表的元素,不能传入值,填写传入值就报错
l.clear()  # 输出结果 [] l列表为空,元素全部清楚
#############
# 4、l.reverse()  把列表反转,不是排序行为
l.reverse()  # 输出结果 ['aaa', 'aaa', 'bbb', 'aaa', 1] 列表实现反转
############
# 5、l.sort() 排序 只允许列表内元素为同种数据类型 才可使用此排序
# 默认把元素重小到大排,称之为升序
l12 = [-1,-4,1,0]
# l12.sort()  # [-4, -1, 0, 1] 把列表升序
l12.sort(reverse=True)  # 输出结果 [1, 0, -1, -4] 从大到小排序,设置为降序
# 了解:字符串是可以比大小的,按照对应的位置的字符依次对比
# 字符串是按照ASCI码表的先后顺序区分大小。表内排在的字符越靠后越大。
##############
#了解: 列表类型也可以比大小,原理同字符一样
# 两个列表对比时,对于索引位置必须为同种数据类型,如果数据类型不同程序会报错
l2 = [1,'aa','222']
l3 = [2,'dd','123']
print(l2 > l3)  # 结果False
##########################################################

9 、补充

(代码隐藏)点击查看代码
# 补充
# 1、队列:first in first out
# FIFO,先进先出
# 模拟入队操作
l4 = []
l4.append('first')
l4.append('second')
l4.append('third')
print(l4)
# # 模拟出队操作
print(l4.pop(0))
print(l4.pop(0))
print(l4.pop(0))
# 输出结果
# first
# second
# third
############
# 2、堆栈:last in first out
# LIFO 后进先出
# 模拟入栈
l4 = []
l4.append('first')
l4.append('second')
l4.append('third')
####
# 模拟出栈
print(l4.pop())
print(l4.pop())
print(l4.pop())
# 输出结果
# third
# second
# first
上一篇:framework学习笔记day12---SpringMVC


下一篇:SpringMVC