Python知识——列表类型,字典类型

本文详细介绍了Python中列表、元组和字典的基本操作,包括类型转换、元素存取、追加、删除、查找、排序等。重点讲解了列表的append、insert、extend方法,元组的不可变特性,以及字典的键值存取、更新、删除等。同时,还涵盖了字典的keys、values、items方法。内容详实,适合初学者掌握Python数据结构的基础知识。
摘要由CSDN通过智能技术生成

列表类型

优先掌握的操作

类型转换:但反能够被for循环遍历的类型都可以当做参数传给list( )转成列表

res=list("hello")
print(res)
msg=list({"k1":111,"k2":222,"k3":333})
print(msg)

在这里插入图片描述

内置方法
优先掌握的操作:
1、按索引存取值(正反向存取):即可取也可改
索引不存在就报错

l=[111,"hello","play basketball"]
#正向取
print(l[0])
#反向取
print(l[-1])
#可以取可以改
l[0]=222
print(l[0])

在这里插入图片描述
2、追加(append)在列表最末端加入值
插入(insert)在列表插入值

l=[111,"hello","play basketball"]
l.append(3333)
print(l)

在这里插入图片描述

l=[111,"hello","play basketball"]
l.insert(1,222)
print(l)

在这里插入图片描述
在下标为1的元素前插入一个值

2.1:列表追加列表(extend)

#列表追加到列表
l=[111,"hello","play basketball"]
l2=[222,333,"hehe",555]
l.extend(l2)
print(l)

3、列表删除值(pop)(remove)
pop()不指定索引默认删除最后一个
pop会返回被删除的值

l = [111, "hello", "play basketball"]
ret = l.pop(1)
print(ret)
print(l)

在这里插入图片描述
remove()根据元素删除

l = [111, "hello", "play basketball"]
l.remove("hello")
print(l)

4、求列表长度,元素个数

l = [111, "hello", "play basketball"]
print(len(l))

输出的结果是3

需要掌握的操作

1、count
统计列表中的元素出现个数

l = [111, "hello", "play basketball"]
print(l.count("hello"))

输出的结果是1

2、index
返回某个元素的索引,如果有某个元素有多个,返回出现的第一次的索引

l = [111, "hello", "play basketball"]
print(l.index("hello"))

输出的结果是1

3、clear
删除列表中所有的元素

l = [111, "hello", "play basketball"]
l.clear()
print(l)

在这里插入图片描述

4、reverse
将列表反转,不涉及排序

l = [111, "hello", "play basketball"]
l.reverse()
print(l)

在这里插入图片描述
5、sort
将列表内元素进行排序,只能是纯数字,或者纯字符串,无法混合

l=[5,9,3,2,-6,8]
l.sort(reverse=True) #默认为False,升序。True,降序
print(l)

在这里插入图片描述

列表也可以比大小,原理同字符串一样,相同位置依次相比,如果对应位置不同种类型,直接报错

元组类型 tuple
元组就是一个“不可变的列表”

定义: ( )内用逗号分割开多个任意类型的元素

t=(111,222,"hello")
print(t,type(t))

在这里插入图片描述
如果括号里只有一个元素,代表包含的意思。所以元组中如果只有一个元素,一定要加个逗号

t=(10)
print(t,type(t))

在这里插入图片描述

t=(10,[11,22])
print(id(t[0]),id(t[1]))
t[1][0]="hehe"
print(t)
print(id(t[0]),id(t[1]))

在这里插入图片描述
元组不可改的是元素的内存地址,是可以更改可变类型内的元素,因为对于可变类型来说,他本身的内存地址没有发生改变。

字典类型

定义:{ }内用逗号分割开多个key:value,其中value可以是任意类型,但是key必须是不可变类型,且不能重复

d={"k1":111,2:222,(1,2):333}
print(d["k1"])
print(d[(1,2)])
print(type(d))

在这里插入图片描述
类型转换

info=[["name","张三"],["age",18],["gender","male"]]
d={}
for item in info:
    d[item[0]]=item[1]
print(d)

在这里插入图片描述
一行代码搞定上述:

info=[["name","张三"],["age",18],["gender","male"]]
ret=dict(info)
print(ret)

在这里插入图片描述

快速初始化字典:

如果有一个列表为keys,设置一个变量为None用来初始化一个字典。用到了fromkeys

keys=["name","age","gender"]
values=None
d={}.fromkeys(keys,values)
print(d)

在这里插入图片描述

优先掌握的操作

1、按key存取值,可存可取
对于列表来说,当索引不存在时,会报错。而对于字典来说,会创建新的值

d={"k1":111,"k2":222}
d["k3"]=333
print(d)

在这里插入图片描述
2、长度len
统计是字典中,不同的key,相同的key,会被新的key值覆盖

d={"k1":111,"k2":222,"k1":333,"k1":444}
print(len(d))
print(d)

在这里插入图片描述

3、删除
pop,通过key来删除

ret=d.pop("k1")
print(d)
print(ret)

在这里插入图片描述
会返回删除的key对应的值

popitem 删除字典中最后一对key和值并返回删除一个含有删除掉的key和值的元组

d={"k1":111,"k2":222,"k3":333,"k4":444,"k5":555,"k6":666}
ret=d.popitem()
print(d)
print(ret)

在这里插入图片描述
4、键(keys),值(values),键值对items( )
返回一个视图对象,而不是列表,也不是字典

d={"k1":111,"k2":222,"k3":333,"k4":444,"k5":555,"k6":666}
print(d.keys())
print(d.values())
print(d.items())

在这里插入图片描述

需要掌握的操作

clear:清空字典
update:更新字典,旧字典没有的,新字典创建到里面,旧字典拥有的但是与新字典不同的,新字典覆盖。

d={"k1":111,"k2":222,"k3":333,"k4":444,"k5":555,"k6":666}
d.update({"k1":"hehe","k7":777})
print(d)

在这里插入图片描述
get :
当取字典的值不存在时,平时情况下会直接报错
而当使用了get

d={"k1":111,"k2":222,"k3":333,"k4":444,"k5":555,"k6":666}
print(d.get("k7"))

会返回一个None

setdefault
如果key有则不添加,如果key没有则添加。返回的是新添加的key对应的值

d={"k1":111,"k2":222,"k3":333,"k4":444,"k5":555,"k6":666}
set=d.setdefault("k7",777)
print(d)
print(set)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值