首页 > 编程语言 > 详细

python学习笔记(三)-列表&字典

时间:2018-01-04 10:41:18      阅读:258      评论:0      收藏:0      [点我收藏+]

列表:

一、列表操作
"""
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 in names:
 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=1
b=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 = 0
for money in jk:
 sum_money = sum_money + money
print(sum_money:,sum_money)

print(打印haha:,stus[tlx][huazhuangpin][1])
print(打印一车:,stus[mpp][bag][lv])

 

python学习笔记(三)-列表&字典

原文:https://www.cnblogs.com/lincy/p/8191143.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!