python代码学习——列表、字典及元组

python代码学习——叶子

  • 一、列表
    • 1.列表的定义、格式及特点
    • 2.列表的取值、切片、嵌套取值
    • 3.列表的函数
  • 二、元组
    • 1.元组的关键字,特点
    • 元组的切片、嵌套取值
    • 元组的函数
  • 三、字典
    • 字典的特点、格式,关键字
    • 字典的访问、取值、嵌套取值,获取函数
    • 字典的新增、删除与修改

一、列表

1.列表的定义、格式及特点

列表:由一系列按照特定顺序排列元素组成的集合
格式:[元素a,元素b]
关键字:list,注意:list不能用于命名
特点:
- 可修改有序的
- 存在空列表
- 元素之间使用逗号隔开,使用[]括起来
- 什么元素都可已放进列表,整数,浮点数,;列表,元组,字符串都可以

以下是列表的代码及输出运行结果

list_msg=[100,112.45,'python','java',{'dict_key':'dict_value'},[2,5,'hdjhiaf'],(78,'hajhjfa','C#')]
print(list_msg)

python代码学习——列表、字典及元组_第1张图片

2.列表的取值、切片、嵌套取值

1.列表的取值格式:列表名[索引值]
2.列表是有序的,因此列表的取值可根据列表的下标(索引值)来获取,列表的下标从0开始

list_msg=[100,112.45,'python','java',{'dict_key':'dict_value'},[2,5,'hdjhiaf'],(78,'hajhjfa','C#')]
a=list_msg[4]
print(a)

python代码学习——列表、字典及元组_第2张图片
3.列表的切片:
格式:列表名[元素头的位置:元素尾的位置+1:步长],与字符串的切片类似,其默认步长为1,代码与运行结果如下:

list_msg = [100, 112.45, 'python', 'java', {'dict_key': 'dict_value'}, [2, 5, 'hdjhiaf'], (78, 'hajhjfa', 'C#')]
b=list_msg[2:5:1]#存在步长
c=list_msg[2:5]#不取步长
d=list_msg[2:6:2]#步长为2
print(b)
print(c)
print(d)

python代码学习——列表、字典及元组_第3张图片
4.列表的嵌套取值,思考:如以下代码,如何取值404?

 list_int=[100,[102,105,107],200,[205,209,[303,404]]]

列表的嵌套取值方法: 在索引值后面直接加上嵌套元素的下标即可,取值方式代码及运行结果如下:

list_int=[100,[102,105,107],200,[205,209,[303,404]]]
list_value=list_int[3][2][1]
print(list_value)

python代码学习——列表、字典及元组_第4张图片

3.列表的函数

1.列表元素的添加、删除、修改

  • 列表名.append(添加值):在列表的最后面增加函数,每次只能增加一个
  • 列表名.insert(索引,添加值): 在列表中根据索引插入元素
  • 列表名.pop():不输入索引时,默认删除最后一个元素;括号中添加索引值时,删除索引值的元素
  • 列表名.remove(列表元素):根据你指定值的值删除 只会删除一个指定的值
  • del函数,可使用切片删除列表中的值,格式:del 列表名[索引值]。例如:del list_1[2:],删除索引为1后面的值
  • 列表名[索引]=新值

代码及运行结果如下:

list_msg=['i love python','java','web','ios',3,78,9,32,'yezi']
list_fla=[1.23,4.56,7.89,0.56,3]
list_msg.append('python')#在列表的最后面增加函数,每次只能增加一个
print(list_msg)
list_msg.insert(4,'C')#根据索引在列表中根据索引插入元素
print(list_msg)
list_msg.pop()#删除列表最末的元素
print(list_msg)
list_msg.pop(4)#根据索引删除元素
print(list_msg)
list_msg.remove('java')#根据列表值删除元素
print(list_msg)
del list_msg[3]#del函数,删除列表元素
print(list_msg)

python代码学习——列表、字典及元组_第5张图片

2.拓展

  • 列表名.sort() 排序 按照数字/字母的从小到大进行排序
  • 列表名.reverse() 倒序,本末倒置
  • 列表名.count (列表元素)列表元素在列表中出现的次数
  • 列表名 index(列表元素)列表元素在列表中的位置
  • 列报名.clear () 清除掉所有的元素
  • 列表名.extend(列表名) 将两个列表合并成一个列表,一次性加多个元素
  • len(列表名)确定列表的长度

代码及运行结果如下:

list_msg=['i love python','java','web','ios',3,78,9,32,'yezi','love','java']
list_fla=[1.23,4.56,7.89,0.56,3]
list_msg.reverse()#倒序
print(list_msg)
list_fla.sort()#同一数据类型的元素排序
print(list_fla)
print(list_msg.count('java'))#统计java的个数
print(list_msg.index(78))#写出78的位置索引
list_msg.extend(list_fla)#两个列表合并
print(list_msg)
list_fla.clear()#清空列表元素
print(list_fla)

python代码学习——列表、字典及元组_第6张图片
【注意】
1.列表的内置函数, 除了count和index之外,没有返回值,所以列表的增、删、排序、倒序等操作不能直接赋值给变量或者直接使用print打印,如果打印出现的结果为None
2.sort只能列表中的同一种数据类型进行排序,如果数据类型不一致,就不能使用sort
python代码学习——列表、字典及元组_第7张图片

二、元组

1.元组的关键字,特点

元组的关键字:tuple
特点: 1.由()括起来的集合
2.无序不可变
3.可存在空的元组
4.如果元组中只有一个数据,请加一个逗号,否则会变成非元组
5.什么类型的数据都可以放 整数,浮点数,字符串,元组都可以
6.取单个元组 元组名[索引值] 索引从0开始,去下标即可
7.元组中,元素之间都使用逗号隔开
8.重点:元组中的至不能进行修改,即元组不支持增删改
python代码学习——列表、字典及元组_第8张图片

元组的切片、嵌套取值

元组的访问,切片和嵌套取值格式与列表一致,可参考列表,代码及运行结果如下所示:

tuple_int=(1.43,[4,6,7],{"dict_key":"dict_value"},("dkqakdf",1.5),"fskfgv")
print(tuple_int[3])#取值
print(tuple_int[::2])#切片,不输入数值,默认正无穷和负无穷
print(tuple_int[2:4])#切片,无步长
print(tuple_int[-2][1])#嵌套取值

python代码学习——列表、字典及元组_第9张图片

元组的函数

1.统计函数 元组名.count()
2.索引函数 元组名.index()

tuple_int=(1.43,[4,6,7],{"dict_key":"dict_value"},("dkqakdf",1.5),"fskfgv",7)
print(tuple_int.index(1.43)) #1.43的索引值
print(tuple_int.count(7))#元组中7的个数

python代码学习——列表、字典及元组_第10张图片

三、字典

字典的特点、格式,关键字

1.字典 dict{} 关键字:dict (关键字,不可用于命名 ) 符号:花括号 {}

  • 特点:可变无序(每次执行key和value的位置都会变化)的,其是根据键来取值的,也就是说字典不支持索引
  • 字典存在空字典 dict_1={}
  • 字典中的值是以键值对的形式出现,key:value,不同的键值对之间使用逗号(英文)进行隔开,但字典键值对之间的符号时冒号
  • 字典中的value可以是任意类型,key可以是字符串,整数,浮点数和元组。不能是字典和列表,原因是:key必须是固定不变的,而列表和字典是可变的
  • 一般key都是字符串,90%
  • 字典中key的值必须是唯一的,不重复的,要不然前面的value会被后面的value覆盖掉
  • 因为字典是可变的,所以字典支持增删改查

代码及运行结果如下

dict_msg={}#空字典
print(type(dict_msg))
dict_msg={'class':'NET1101',7:8,(55,88):{"name":"yezi"}}
print(dict_msg)

python代码学习——列表、字典及元组_第11张图片

字典的访问、取值、嵌套取值,获取函数

  • -查询:根据key进行查询 格式:字典名[key]
  • 嵌套取值,与列表,字符串,元素的格式一致,不过他们取值的是下标,字典取值的是key
  • 取出所有的key值 格式:字典名.keys()
  • 取出所有的values值,格式:字典名.values()
  • 取出所有的键值对:格式:字典名.items()
  • 以上三个函数打印后,是将数据放在一个数据的集合中,其数据不是字典,也不是列表
  • 字典名.get(key)方法卡获取字典的value值,不常用,了解即可

代码及运行结果如下:

dict_msg = {'class': 'NET1101', 7: 8, (55, 88): {"name": "yezi"},"grade": [80, 90, 100, 200]}
print(dict_msg)
print(dict_msg["class"])  # 字典的取值,根据key取值
print(dict_msg[(55, 88)]["name"])  # 字典的嵌套取值,根据key来全套
print(dict_msg["grade"][2])#获取字典中嵌套列表的值,使用字典的key取值value,然后使用列表的索引取值
print(dict_msg.keys())# 获取所有的key值,返回数据类型为元组
print(dict_msg.values())# 获取所有的value值,返回数据类型为元组
print(dict_msg.items())  # 获取所有的键值对。返回数据类型为元组

python代码学习——列表、字典及元组_第12张图片

  • 注意:字典中key的值是不能重复的,否则相同key的value值中,后面的会将前面的value覆盖掉、

示例代码如下:

dict_msg = {'class': 'NET1101', 'class': 8, (55, 88): {"name": "yezi"},"grade": [80, 90, 100, 200]}
print(dict_msg)

python代码学习——列表、字典及元组_第13张图片

字典的新增、删除与修改

1.新增和修改
格式:字典名[key]=value 如果key存在则为修改,如果key不存在则为新增

dict_msg={'class':'NET1101',7:8,(55,88):{"name":"yezi"}}
print(dict_msg)
dict_msg['class']='java1102'#修改clsss的值
print(dict_msg)
dict_msg['code']=100#新增字典的值
print(dict_msg)

python代码学习——列表、字典及元组_第14张图片
2.删除

  • 指定删除 pop 格式:字典名.pop(key) 与列表不同的是,因为字典时无序的,key不能不输入,否则会报错
  • 随机删除popitem 格式:字典名.popitem(),了解即可
  • del 删除语句,del 字典名[key] 删除指定的键值对
  • 清空 d.clear()

代码及运行结果如下;

dict_msg={'class':'NET1101',7:8,(55,88):{"name":"yezi"},"code":100}
dict_msg.pop('class')#删除指定的值
print(dict_msg)
del dict_msg[7] #del方法,删除指定的值
dict_msg.popitem()#随机删除
print(dict_msg)
dict_msg.clear()#清空
print(dict_msg)

python代码学习——列表、字典及元组_第15张图片

你可能感兴趣的:(自学python)