Day3 :列表,元组

2020/8/21

可变字符串

在python中字符串不能修改,所以只能创建新的对象 看起来是改了的。所以我们要用到io.StringIO 对象 或者 array 模块.

import io
s = "hello sxt"
sio = io.stringIO(s)
sio.getvalue()
sio.seek(7)
sio.write("g")
sio.value

运算符练习

<< 左移符号 就是等于乘2
a =3
a << 4 = 3* 2**4
右移符号 就是除以2
在这里插入图片描述
python 没有自增自减
表达式很复杂的时候一定要用小括号组织
优先级:位运算和算数运算>比较>赋值运算>逻辑运算符号

序列

序列是一种数据储存的方式,用来储存一系列的数据。在内存中,序列就是一块用来存放多个值的连续的内存空间。

列表

列表是内置的可变序列。列表的常用方法
在这里插入图片描述
在这里插入图片描述
列表大小是可变的,元素也是可以存储任何数据

建立列表

[] :a = []
list() :a = list(“shangke”) 用于把可迭代的数据转化成列表
a = list(range(10))
range() 创建整数列表 range(start,end,step)

添加元素

append() 在原有的对象上序列末尾加元素 有且只有一个元素

>>> a
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
>>> id(a)
2448650877640
>>> a.append(10)
>>> id(a)
2448650877640
>>> a
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 10]

extend() 在原有对象序列末尾加元素 可以添加多个。 两个列表整合时 用extend

插入元素

insert()可以将指定的元素 插入指定的位置。如果插入的话,后面的元素会往后挪一位,所以在大列表中 少用insert。

删除元素

del() 删除 其实在底层原理是复制了后面的元素 往前移了一位
在这里插入图片描述
pop()括号内是元素的位置 默认直接弹出最后一个元素 到其他变量(删除某个元素并返回)
remove()删除首次出现的元素 括号内是元素。 如果元素不存在则抛出异常

列表的元素访问和计数

index(value,start,end)可以获取元素首次出现的索引值 index(20), index(20,3)
count() 获得指定元素在列表中出现的次数
len() 获得多少的元素在 列表里

判断列表中是否存在指定的元素, 可以用count()来判断 ,返还0 则为没有。 最方便最简洁 用in来判断, 在的话返回True 不在 False
20 in a 100 not in a

列表排序

sort() 是修改原来的列表
a.sort() a.sort(reverse = true)

import random 随机排列
random.shuff(a)

sorted()是生成一个新的数组对象
b=sorted(a)

逆序排列
reversed() 迭代器 只能用一次 其实是指针移动

max(a) min(a) sum(a)

##多维数表
列表里面套列表 就是多维列表

a = [
	["小一""北京""1111"]["小二""重庆""6666"]["小六""深圳""8888"]]
a[0][1]
北京

元组

列表属于可变序列 ,元组属于不可变序列,不能修改元组中的元素。所以元组没有任何方法可以修改,增加,删除。
元组可以

  1. 索引访问
  2. 切片操作
  3. 连接
  4. 成员关系
  5. 比较运算
  6. 计数:元组长度len() ,max(),min(),sum()。
    通过()可以创建元组 ,小括号也可以省略。如果元组只有1个元素 元素后面加“,”要不然会被认为是整数 a=(1,) a = 1,
    通过tuple()创建 tuple(可迭代对象)
    b = tuple(range(10))
    b= tuple([1,2,3,“xi”])

sorted(tuple(a)) 元组不能改变 只能生成一个新的对象列表
zip() 把几个列表相应位置的元素组成元组,并返回zip对象
总结: 1特点是不可变序列 2. 访问和处理速度比列表快 3. 与整数和字符串一样,元组可以作为字典的键,列表则不能用位字典的键。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值