python字典类型的维度_python学习笔记(三)-列表&字典

本文详细介绍了Python中的列表操作,包括创建、增加、修改、查看、删除元素,以及排序、循环和切片等。此外,还探讨了字典的操作,如删除键值对、检查键是否存在、转换为列表等,并展示了字典嵌套的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

列表:

一、列表操作

"""

Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。

比如,列出班里所有同学的名字,就可以用一个list表示:

stus = ['xiaohei','xiaobai','xiaohuang','cxdser']

索引(下标、角标)从0开始,0 1 2 3 4 5 6...。最后一个元素的下标可以写-1

name = 'xiaohei,xiaobai,xiaohuang' 用字符串表示名字,但是多了不好查找

id = 1

#数组、list、array 都是指列表

"""

创建列表

stus = ['xiaohei','xiaobai','xiaohuang','xiaobai','cxdser']

增加

stus.append('曹操')#在list末尾增加一个元素

print('append在list末尾增加一个元素:',stus)

stus.append('曹仁')#在list末尾增加一个元素

print('append在list末尾增加一个元素:',stus)

stus.insert(3,'曹洪')#在指定位置添加元素

print('指定在下标3位置添加元素:',stus)

stus.insert(1000,'曹纯')#如果你指定的下标不存在,那么就是在末尾添加

print('指定不存在的下标位置添加元素:',stus)

修改

stus[0]='曹休' #指定下标位置修改元素

print('[X]指定下标位置修改元素:',stus)

查看

print('查看整个列表:',stus) #查看整个列表

print('查看指定下标的元素:',stus[-1]) #查看指定下标的元素

print(stus.count('hhaha')) #查看某个元素在这个里面的个数,如果该元素不存在,那么返回0

print(stus.index('xiaobai')) #找到这个元素的下标,如果有多个,返回第一个,如果找一个不存在的元素,会报错

list操作

stus = ['xiaohei','xiaobai','xiaohuang','cxdser','xiaohei']

stus.pop()#默认删除最后一个元素,如果指定下标,那么删除指定的元素

print('pop删除最后一个元素:',stus)

stus.remove('xiaohei') #删除list里面的一个元素

print('remove删除指定元素:',stus)del stus[0] #删除指定下标的元素

print('del删除指定元素:',stus)

stus.clear()#清空整个list

print('clear清空整个list:',stus)

stus.reverse()#反转list

print('reverse反转整个list:',stus)

nums= [9,31,345,12,457,2352,12143,2321]

nums.sort(reverse=True) #排序,默认排序是升序,如果指定了reverse=True就是按照降序拍

print(nums)

nums.sort()#排序,默认排序是升序,如果指定了reverse=True就是按照降序拍

print(nums)

多维数组

二维数组 三维数组

two_nums = [123,456,[789,10,11]] #二维数组列表

print(two_nums[2][1]) #查看10

three_nums = [123,456,[789,10,11,['hahaha','1234']]]print(three_nums[2][3][0]) #查看haha

a = [1,2,3]

b= [4,5,6]

a.extend(b)#合并两个list,将b合并到a中

print('合并后的列表',a)print(b)

二、列表循环和切片

列表循环

如果直接for循环一个list的时候,那么每次循环的值都是这个list里面的元素

names = ['haha','hehe','heihei']for name innames:print(name)

切片

nums = [1,2,3,4,5,6,7,8,9,10]print(nums[-1:-8:-1])#步长

步长是正数的话从左往右取

步长是负数的话从右往左取

print('没有:7',nums[:6])

切片同样适用于字符串,字符串也有下标

title='今 天 发 苹 果'

print(title[:4])for i,t in enumerate(nums): #enumerate可以同时循环下标和值

print(i,t)

就是list取值的一种方式

print(nums[2:4])print(nums[:6])#如果切片前面一个值不写的话,从开头取

print(nums[3:])##如果切片后面的值不写的话,取到末尾

print(nums[:])#如果前面的值和后面的值都不写的话,那么全取过来

切片是顾头不顾尾

三、非空即真

非空即真

非0即真

print(1>2)

a=1b=2

if a==b:print('xxx')

字典:

一、字典操作

d = { 'name':'曹操','age':18,'sex':'男','addr':'昌平区','money':10000000,'shengao':'200'}

d.pop('shengao')#删除某个key

print('pop删除指定key:',d)

d.popitem()#随机删除一个

print('popitem随机删除一个:',d)del d['shengao']print('指定key进行删除:',d)

d.clear()#清空字典

print('clear清空字典:',d)print('获取到字典所有的key:',d.keys())#获取到字典所有的key

print('获取到所有的values:',d.values())#获取到所有的values

d.has_key('addr') #python2里面字典有这个方法,有没有这个key

if 'addr' in d: #判断key是否在这个字典里头

print('addr')print('把字典的k和v转成一个二维数组:',d.items())#是把字典的k和v转成一个二维数组

for k,v in d.items():#遍历字典并将k、v值打印出来

print(k,v)

res= list(d.items()) #把字典转成列表

print(d.items())print(res[0]) #打印指定字段

for k in d: #用循环遍历字典,性能好

print(k,d.get(k)) #打印k、V值,返回指定键的值,如果值不在字典中返回default值

类型转换

int()#int类型

str()#转成字符

list()#转成list

d_list=str(d)print(d_list)

二、字典嵌套

stus ={'ybq': {'age': 18,'sex': '男','addr': '昌平区','money': 10000000,'jinku': {'建行卡': 80000,'工商卡': 800000,'招商卡': 8000000}

},'tlx': {'age': 19,'sex': '女','addr': '昌平区','money': 10000000,'huazhuangpin': ['chanle','haha']

},'mpp': {'age': 19,'sex': '女','addr': '昌平区','money': 10000000,"bag": {'lv': '一车','鳄鱼':10}

},'lcy':{'age':18,'sex':'男','addr':'昌平区','money': 10000000,'jinku':{'建行卡': 80000}

},

}print('stus:',stus)print('ybq:',stus['ybq'])print('age:',stus['ybq']['age'])print('jinku:',stus['ybq']['jinku'].values())

jk= stus['ybq']['jinku'].values()print('sum:',sum(jk))

sum_money=0for money injk:

sum_money= sum_money +moneyprint('sum_money:',sum_money)print('打印haha:',stus['tlx']['huazhuangpin'][1])print('打印一车:',stus['mpp']['bag']['lv'])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值