变量类型——列表、元组、字典

变量类型——列表、元组、字典

一、列表

空列表
varibals = []varibals = list () //生成一个空列表
注:列表可以容纳任意类型的对象,任意数量的对象
【重点】列表是可变类型的
varibals = [1,2,3,'ni hao','hello,python',[],[10,100]]

1.列表简单操作
  • 向列表中插入元素
    varibals = [] // 创建一个空列表
    varibals.append(1) ——>[1] //向空列表中添加1
    varibals.append(2)——>[1,2] //再添加2
    varibals.append('ni hao')——>[1,2,‘ni hao’] //添加字符串元素‘nihao’
  • 改变列表中的元素值_(列表是可变类型的,列表长度可增可减,列表中的变量是可变的可以进行更改)
    varibals = [1,2,'ni hao']
    varibals[0] = 10 //将列表中的第一个元素替换成10
    varibals——>[10,2,‘ni hao’]

拓展:Python是一种动态类型的语言,一个变量是什么类型,要看程序在运行过程中变量所代表的值是什么。

var = 10
type(var)   //int型
var = 'str'
type(var)   //所代表的值发生改变,变成了string字符串类型。
  • 列表切片(同字符串类似)
varibals = [10,2,'ni hao']
varibals[-2:]  //取后两个值 [2,'ni hao'']
varibals[:2]  //取前两个值 [10,2]
varibals[1:2] //取下标为1到2的值,但不取到2 ——>[2]
  • 列表拼接(加法操作)
    varibals = [1,2]
    var_1=variblas + [23,90]——>[1,2,23,90]
  • 列表的乘法操作
    varibals = [1,2]
    varibals * 4 ——>[1,2,1,2,1,2,1,2]

注:
字符串与列表可以统称为序列;
列表是一种容器型的序列——>任意类型均可放入
字符串是一种扁平型的序列——>由多个字符构成
其中len()、+、* 等多项操作,列表与字符串是通用的。

2.列表函数运用
  • 添加元素
    varibals = [1,2,'ni hao']
    varibals.append(2) //向列表中加入元素2
    varibals.append('singtop') //向列表中加入字符串’singtop’
    varibals——>[1,2,‘ni hao’,2,‘singtop’]
  • 清空列表
    varibals = [1,2,4,'mx']
    varibals.clear()——>[] //将列表中的元素删除,清空列表
  • 复制列表
    varibals = [1,23,43,567,'ni hao']
    new_var= varibals.copy() //将varibals列表复制给new_var
    new_var——>[1,23,43,567,‘ni hao’]
    另一种方法是:
    new_var = varibals //将new_var的指针也指向varibals,修改任何一个,另一个也发生改变。
    new_var ——>[1,23,43,567,‘ni hao’]
    注:以上两种复制方法不同之处在于:
    使用第二种方法是使两个变量的指针指向同一个列表地址,更改一个列表,另一个也会发生变化。即不能够随意更改新的变量中的值
    使用第一种方法可以任意更改其中的任一个值。
  • 多个列表结合成一个
    a = [1,2]
    b = [3,4]
    a+b——>[1,2,3,4] //将a,b两个列表组合成一个
    另一种组合方式:a.extend(b),将b列表添加到a列表的尾部,形成一个新的a列表
    a.extend(b) //b列表追加到a列表的尾部
    a——>[1,2,3,4]
  • 列表中元素的插入
    varibals = [1,2,'ni hao',6,'singtop']
    varibals.insert(0,100) //在列表的第一个位置(下标为0)处,插入元素100
    varibals——>[100,1,2,‘ni hao’,6,‘singtop’]
  • 弹出并返回列表中的值
a = [2,4,7,'ni hao',8]
a.pop()  //弹出并返回最末端的值  '8'
a.pop(0) //弹出并返回下标为0的值 ,  '2'
a.pop(3) //弹出并返回下标为3的值 ,'ni hao',若下标超出列表序列,报错

  • 移除列表中的元素
a = [1,2,7,'ni hao',20]
a.remove(2)  //将从0位置开始找到的第一个2移除,若要移除的字符不存在,则报错
a.remove('ni hao')//将从0位置开始找到的第一个'ni hao'移除
a ——>[1,7,20]
  • 列表中元素排序
    a = [1,4,3]
    a.sort()——>[1,3,4]
    a.sort(reverse=True)——>[4,3,1] //reverse反转True
  • 判断一个变量是否在列表中
    a = [1,4,3]
    4 in a——>True //4在a列表中
    5 in a——>False //5不在a列表中

二、元组

元组(tuple):不可变列表
空元组的创建:
var = tuple()var =()
type(var)——>tuple

var = (1,2,1,3,4,5,6,[23,4,3,56])
var.count(1)——>2 //count()计数,元组中1出现两次
var.index(5)——>5 //索引为5处的元素为 5.
a,b = 10,20——>实际为 (a,b)= (10,20)
拓展:元组中的函数仅有count()和index()

三、字典类型

字典(dict)
创建空字典:
var = {}var = dict()
type(var)——>dict

var = {
            ‘中’:100,
            ‘左’:200
}
字典(值:页码)—解决映射问题
var['中']——>100 //查找字典中的’中’值,其页码为100;'中’所在的页码
如若利用列表:
words = ['中','左']
location = [100,200]
location[words.index('中')]——>100

  • 拉锁函数(将两个列表形成字典)_ zip()
    words = ['中','左']
    location = [100,200]
    zip(words,location) //拉锁函数zip(),将两个列表形成一个对象
    new_var = list(zip(words,location))——>[(‘中’,100),(‘左’,200)]
    //list()函数,将形成的对象转化为列表
    dict(new_var)——>{‘中’:100,‘左’:200} //形成字典类型
    拓:若list(zip([1,2],[3,4],[5,6,7]))——>[(1,3,5)(2,4,6)]

Students=['wang','li','sun','cui','zhang']
将Students中的每一个元素都赋予一个初始值
money= dict.fromkeys(Students,10) //赋予每一个元素初始值10,形成字典类型
money={'wang':10,'li':10,'sun':10,'cui':10,'zhang':10} //形成的字典

  • 访问字典中某元素的值
    money={'wang':10,'li':10,'sun':10,'cui':10,'zhang':10}
    money['wang']——>10 //访问字典中wang元素所对应的页码
    money['ww']——>报错 //若字典中不存在该元素,则报错
    另一种查询方式
    money.get('wang')——>10
    a=money.get('ww)——>若不存在该值,则a为None
    区别:
    使用.get(’’)可以在查询的值不存在时,赋予他一个值。
    a = money.get('ww',100)——>100
  • 将字典拆分成列表
    money={'wang':10,'li':10,'sun':10,'cui':10,'zhang':10}
    money.keys() ——>dict_keys([wang’,‘li’,‘sun’,‘cui’,‘zhang’])
    money.values()——>dict_values([10,10,10,10,10])
    money.items()——>dict_items([('wang’10),(‘li’,10),(‘sun’,10),(‘cui’,10),(‘zhang’,10)])
  • 删除字典中元素的操作
    money.pop('wang')——>10 //弹出并返回该元素的值
    money——>{‘li’:10,‘sun’:10,‘cui’:10,‘zhang’:10}
  • 增加元素的操作
    money['gulin']=10000 //添加’gulin’元素,并将其值赋予10000
    money——>{‘wang’:10,‘li’:10,‘sun’:10,‘cui’:10,‘zhang’:10,‘gulin’:10000}
    money.setdefault('yuan',100)——>100 //该增加元素的方式,当元素存在时,返回其值;若不存在时,给他个值并返回。

@梦幻泡沫

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值