Python 小栈_03:Python的列表元祖和字典

Posted 211293dlam

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 小栈_03:Python的列表元祖和字典相关的知识,希望对你有一定的参考价值。

今日学习:

一、列表(有序的)

1、索引、切片(切片后仍为列表)
lis=[11,22,33,44,22,0]
# v=lis[2]
# print(v)
# v=lis[0:2]
# print(v)
# 2、支持for循环,为可迭代对象
# for item in lis:
# print(item)
# 3、修改(索引和切片都可)、删除(用del)、增加列表
# lis[0]=22
# print(lis)
# lis[0:2]=22,33
# print(lis)
# del lis[2]
# print(lis)
# del lis[0:-1]
# 3、字符串转换成列表,可采用list,内部用的是for循环
# print(lis)
# text="alex"
# print(list(text))
# 4、列表转换成字符串,则有两种方式
# (1)包含数字和字符串时,用for循环
# for item in lis:
# print(item)
# (2)若只有字符串,则可以用join
# v="".join(lis)
# print(v)
# 5、列表的追加:三种
# (1)append是把括号中的参数直接整个加到最后
# lis.append("alec")
# print(lis)
# (2)extend中参数为可迭代对象,有list、str、tuple,然后把对象中的每个元素一一加进去
# lis.extend((22,44,55))
# print(lis)
# (3)insert,采用在指定的索引位置加入特定的值。
# lis.insert(2,88)
# print(lis)
# 6、列表的删除
# (1)用del
# (2)用pop,默认删除最后一个元素,可指定删除的索引位置
# lis.pop(3)
# print(lis)
# (3)用remove,指定删除某个元素,从左开始找,且删完后不再找了
# lis.remove(22)
# print(lis)
# (4)清空用clear
# lis.clear()
# print(lis)
# 7、count的用法,计算元素在列表中出现的次数,得赋值v
# v=lis.count(22)
# print(v)
# 8、copy的用法,浅拷贝
# lis.copy()
# print(lis)
# 9、index即根据值获取当前的索引位置,若有多个相同的,则找到后就不再找了
# v=lis.index(22)
# print(v)
# 10、把列表中的元素反转
# lis.reverse()
# print(lis)
# 11、sort仅可用于列表中全是数字时的排列
# (1)从小到大排序
# lis.sort()
# print(lis)
# (2)从大到小排序
# lis.sort(reverse=True)
# print(lis)
# 列表中重点为:append、extend、insert三个


二、元祖(有序)
tu=(11,22,33,44,22,"Alex",[33,{22.55},55],"edn")
# 1、元祖中的一级元素不能被修改、增加和删除
# 2、可以索引和切片(切片后仍为元祖)
# print(tu[1])
# print(tu[0:3])
# 3、支持for循环,为可迭代对象
# for item in tu:
# print(item)
# 4、元祖中嵌套的其他数据类型,如列表的元素,即可增加、删除和修改
# print(tu[5][2])
# 5、list、tuple、str可以互相转化
# print(list(tu))
# 魔法;两个
# (1)count计算元素在元祖中出现的次数,如果在元祖中出现嵌套的其他数据类型也还有该元素,则不计
# v=tu.count(22)
# print(v)
# (2)index用来寻找元素在元祖中的索引位置,且找到后不再找了
# v=tu.index(22)
# print(v)
# 元祖中最重要的一点是一级元素不能修改、删除和增加


三、字典(无序)
# 格式:info={"k1":‘v1‘,"k2":"v2"}
info={"k1":1,"k2":"alex","True":"[11,445]",}
# 1、字典中的value可以示任意的数,但key不能为列表和元祖,布尔值可以,只是在输入时会与0和1重复
# 2、在for循环中,有四种情况:
# for item in info:
# print(item)--》默认输出k值
# for item in info.values():
# print(item)--》输出v值
# for item in info.items():
# print(item)--》输出键能对,以元祖的方式
# for k,v in info.items():
# print(k,v)--》依次循环输出k值和v值
# 3、支持索引取值,但不能切片(因其是无序的)。支持del删除,只可以删除k值
# print(info["k1"])
# del info["k1"]
# print(info)
# 魔法
# (1)fromkeys用于创建一个字典,根据前一个序列(序列可用大中小括号表示)创建字典中的k值,再赋予同等的v值,即第二位参数。
# print(dict.fromkeys(["k5","k2","k3"],123))
# (2)get用于根据k来取v值,若k不存在时,默认输None,或者有输入第二位参数时则输出它
# v=info.get("k1111",123)
# print(v)
# (3)pop用来删除对应的k值,并获取v值。popitem用来删除键能对,默认删除最后一个,并取得其键能对
# k,v=info.popitem()
# print(k,v)
# (4)setdefault是用来设置新的键能对,若k值存在则不设置,new输出对应的v值;若k值不存在,则设置新的键能对上去,new输出新的v值
# new=info.setdefault("k1111","happy")
# print(info,new)
# (5)update用来更新,若k值已存在,则覆盖原来的v值;若不存在,则生成新的键能对,注意书写
# n=info.update(k1="happy",k5="123")
# print(info)
# g=info.update(**{‘k1‘:‘happy‘,"k5":"123"})
# print(info)
# 字典中重点为keys、values、items、get和update

PS: 列表、元祖和字符串都可以做in操作,字典也可以,默认为k值
# 列表、元祖、字典和字符串都为可迭代对象,可for循环
# print("k1" in info.values())

四、布尔值(两个)
True:1
Flase:0
为假的情况有:None、“”、0、()、{}、[]、-0
其余都为真

ps:enumerate函数
语法:
enumerate(sequence, [start=0])
  • sequence -- 一个序列、迭代器或其他支持迭代对象。
  • start -- 下标起始位置。
用法:一般用于for循环(同时列出内容和索引)
seq = [one, two, three]
for i,num in enumetare(seq):
    print(i,num)


以上。
 



以上是关于Python 小栈_03:Python的列表元祖和字典的主要内容,如果未能解决你的问题,请参考以下文章

Python(85)_列表元祖和字典复习

Python基础_列表元祖和字典

Python 小栈_05:Python 变量和递归函数

08_python的列表元祖字符串字典及公共方法

Python 小栈_13:Python ossysxmljsonpickle模块

Python&int&method&String切片索引,列表元祖字典