列表 元组 字典

#list:[]表示  可以增删查改
#
# li = ['fs','99','你哦了','77 ']
# while 1:
#     n  = input('>>>:')
#     if n.strip().upper() == 'Q':
#         break
#     else:
#         li.append(n)
# print(li)

# li.insert(4,'tt')#直接插入 不用变量去接,也不能全输出
# print(li)
 
# li.extend('可迭代对象')#int bool 值也, 是不可以迭代的
# li.extend('123')#拆分最小的 1,2,3
#删 ,
 #1按索引

# li.pop() # 括号是里的索引,根据下标去删.默认输删除最后一个 # li.pop(1) # print(li) # name = li.pop(1) # print(name,li)#有返回值 #2按元素去删除 # li.remove('元素')#按元素删除 # print(li) # li.clear() #清空 # print(li) # # del li #直接删除列表 # print(li) # # 切片删除 # del li[2:] # print(li) # # li[0] ='gg'#按索引直接改 # print(li) #切片改 # li = ['fs','99','你哦了','77 '] # li[2:6]='fdsf' # print(li) # li[0:3] = [12,56,'gjg','ioo','ookk'] # print(li) # # for i in li : # print(i) # print(li[2:4]) # 公共方法 # l = len(li)#长度 # print(l) # a = li.count('taibai') # print(a) # 列表只能用index找下标 # print(li.index('元素'))#元素找索引 #排序 # li = [1,4,5,7,3,0] # li.sort()#直接排序.小到大 # print(li) # li.sort(reverse=True )#倒着排序 # print(li) # li.reverse()#反转 [0,3,7,5,4,1] # print(li) # 列表的嵌套 # li = ['taibai','大表哥','666','女神',['是否','飞',89],68] # print(li[1][0])#找大 # print(li[4][2])#找89 # n = li[0].capitalize() # print(n) # print(li[0].capitalize()) # li[0] = li[0].capitalize() # print(li[0]) # li[2] = '大帅哥'# 替换666 位大帅哥 # print(li[2]) # 替换 # print(li[2].replace('6','日天',1)) # li[2] = li[2].replace('6','日天',1)# 放回原来位置 666替换第一个 6 当 2 是前俩个 替换 .形成新的字符串 # print(li[2]) #元组 只读 不可以更改 儿子不可以变 孙子可以变 # tu = (1,2,3,'alex',[3,4,5,'taibai'],'too') # tu[1] # print(tu[1]) # print(tu[3]) # print(tu[3:5]) # print(tu[4][3].capitalize())#首字母大写 # print(tu[4].append('sb'))#taibai后边加入一个字符串 # for i in tu: # print(i) #jion 列表转化为字符串 split 把字符串转化为列表 # s = 'Alex' # s1 = '/'.join(s) # print(s1) # s2 = '0'.join(s) # print(s2) # s3 = s.split() # print(s3) #range # for i in range(0,18): # print(i) # for i in range(2,10,2) :#偶数 # print(i) # for i in range(1,10,2) :# 奇数 # print(i) # for i in range(10,0,-1):# 当 (0,10,-1) 运行时空的 # print(i) # 不可变数据类型 元组 bool int str 可哈希 #字典 优点 二分法去查询 存储大量的关系型数据 # dic1 = {'age':'18','name':'jon','sex':'male',} # # dic1['big']=66#直接加,没有建值直接加入 # dic1['age']=16#有直接覆盖 18变为 16了 # print(dic1) # dic1.setdefault('weight') # weight后没有数的话,值默认为None # dic1.setdefault('weight','oo')#建值对为 weight:'oo # dic1.setdefault('age','oo')#有原来建值 对不做任何改变 ,没有才添加 # print(dic1) # # dic1.pop('建')#有返回值,按键删除 常用的 # dic1 = {'age':'18','name':'jon','sex':'male',} # dic1.pop('age') # n = dic1.pop('age')# # print(dic1)#{'name': 'jon', 'sex': 'male'} # print(n)#18 # n = dic1.pop('erge')#会报错 改为 n = dic1.pop('erge','提示') 很重要哦 # n = dic1.pop('erge','没有这个建哦') # print(n) #没有这个建哦 # dic1.clear() #清空字典 # del dic1['name']# 也可以按键删除 # print(dic1) # # dic1['age']=16 #覆盖也是改 ''' dic1 = {'age':'18','name':'jon','sex':'male',} dic2 = {'name':'jgv','age':'8','weight':'66',} dic2.update(dic1) print(dic1) print(dic2) 把一更新到二中 爬虫时用 ''' # dic1 = {'age':'18','name':'jon','sex':'male',} # print(dic1.keys())#打印建 # print(dic1.values())#打印值 # print(dic1.items())#打印建值 元组 里边 是键值 # for i in dic1:#什么都不写默认打印键 # print(i) '''' for i in dic1.items() :#键值对 print(i) 结果 ('age', '18') ('name', 'jon') ('sex', 'male') # # a,b = 1,2 # a,b = b,a # print(a,b)#ab 互换 for k,v in dic1.items() : print(k,v) 结果 age 18 name jon sex male SyntaxError: unexpected EOF while parsing 表示语法错误少一个括号 ''' # print(dic1['name']) #打印 出值 没有的话会报错 # print(dic1.get('name1','没有这个建') #打印 出值 没有的话会报错




在来一遍
字典变化不大
list 列表 []



'增删改查'
增

li = [1,2,3,'nihao','n','你好啊']

li.append('对了')#只能 在后边添加
print(li)

li.insert(0,'gg')#根据索引来添加,是没有默认在后边添加的
print(li)

li.extend('qwer')#把 qwer拆分开  分别加到列表后边,只能有一个''的内容
print(li)

删
li.pop(1)#按索引删除,不能切片删除,
print(li.pop(1))#有返回你要删除的元素

del li#删除整列表
print(li)

del li[1:3]#按切片切忘记了.就长这样的
print(li)
li = [1,2,3,'nihao','n','你好啊']

li = li.clear()#输出 None没有用内容 表示已经清空
print(li)

li.remove('你好啊')# 按元素删除 ,移除的意思
print(li)

改
li[1] = '替换内容'
li[1] = [123,'大宝哥']#列表嵌套列表
print(li)

li[0:3] = 'dasfggdfh'#把字符串改成字符放进去
print(li)
li[0:3] = ('练啊','人才','胸带')#一个位置一个的放进去()与[]是一样的,('练啊','人才','胸带')等于['练啊','人才','胸带']
print(li)

li = [1,2,3,'nihao','n','你好啊']


查

li = li[2]#索引查找
li = li[1:4]#切片查找
for i in li :
    print(i)

print(li[3])




公用方法 数字列表排序
li = [1,23,4,6,9,4,2,]
li.sort()#不能写成li =li.sort(),否则输出None.正向排序
print(li)
li = li.sort()#输出None
print(li)

逆向排序
li.sort(reverse=True)#把里边的False改为True
print(li)

反转
li.reverse()#把li反过来
print(li)

元组 uplit   只读  不可更改,    元组里的列表可以改  (儿子不能改,孙子可以改)

li = ('ho','gg',1,3,['cp',75],689,0)
print(li[4][0][1])#找出p
只能查,孙子可改的跟列表一样
数字元组(1,100)表示1234567...100  用range
for i  in  range(1,88,2):   #有步长
    print(i)

for i  in  range(0,10,2):#偶数
    print(i)
for i  in  range(1,10,2):#奇数
    print(i)
for i  in  range(1,88,2):

不可变数据型 列如 bool 元组  int   str
字典 用二分法  可以存储大量的数据
dic1 = {'name':'beibi','age':'18','sex':'male'}#键值对
有增删查改
增
dic1['big']= 66 #直接加入键值对.不重复的话直接加入,重复的话直接覆盖
print(dic1)
dic1['name']='gegu'
print(dic1)
用setdefault 去添加.好处是原有的不会被覆盖
dic1.setdefault('name',88)#(键,值)当没有值的时候默认值为None
print(dic1)

删 一#删,一样都是用pop
dic1.pop('name')#有返回值  ('键'),当键不存在的话报错 可以改为这样('键','提示语')
print(dic1)

print(dic1.pop('n','不存在'))

dic1.clear()#清空字典{}
print(dic1)

del dic1#删除整个字典
print(dic1)

del dic1['name']#按键删除 键值对
print(dic1)

改   覆盖
dic1['name'] = 14  #直接覆盖了

字典更新  把一更新到原来的
dic1 = {'age':'18','name':'jon','sex':'male',}
dic2 = {'name':'jgv','age':'8','weight':'66',}
dic2.update(dic1)
# print(dic1)
print(dic2)
把一更新到二中  爬虫时用

 



 

posted @ 2018-12-31 16:23  LmtMe  阅读(261)  评论(0编辑  收藏  举报