7、列表类型、元组、字典类型

一、列表

  定义:[]内可以有多个任意类型的值,逗号分隔

  优先掌握的操作

  1、按照索引存取值(正向存取+反向存取):即可存也可取

  2、切片(顾头不顾尾,步长)

  l=[11,22,33,44]

  l=[0:3:2]

  new_l=[:]

  浅copy:只拷贝外层,内层可变类型不拷贝

  深copy:执行

  

from copy import deepcopy

new_l1 = deepcopy(l)
# print(id(l[0]), id(l[1]), id(l[2]))
# print(id(new_l1[0]), id(new_l1[1]), id(new_l1[2]))
#
new_l1[2][0]="zzzzz"
print(new_l1)
print(l)

  3、长度

  len(l)

  4、成员运算in和not in

  print ("xxx" in l)

  5、追加

  l。append(值)

  l.insert(索引,值)

  6、删除

  del l[0]

  l.remove(元素)

  res=l.pop(索引)

  7、循环

  for x in l:

    print(x)

  for i,x in enumerate(l)

    print(i,x)

重要操作

  l=[11,22,33]

  new_l = l.copy()#new_l = l[:]

  print(len(l))

  

  index()#查找33在第几个

  ·print(l.index(33))

   print(l.index(7777))

  

  count(指定列表中查找个数)

  print(l.count(33))

  

  clear(清空操作)

  l.clear()

  print(l) 

  

  extend(增加字符串类型的元素进去)

  l.extend(''hello'')

  l.extend([1,2,3])

  l.append([1,2,3])

  print(l)

 

  reverse(用于反向列表中的元素)

  l.reverse()

  print(l)

 

  sort(对原列表进行排序,reverse=True(降序),reverse=False(升序))

  l=[11,-3,9,7,99,73]

  l.sort(reverse=True)

  print(l)

二、元组

  1、用途:元组相当于一个不可变列表,所以说元组也是按照位置存放多个任意类型的元素

  2、定义方式:在()内用逗号分隔开多个任意类型的元素

  3、数据类型的转换

  tuple(可迭代的类型)

  注意:如果元组内只有一个元素,那么也必须用逗号隔开

  例如:t(11,)

  4、常用操作及内置的方法

  优先掌握

  1、按照索引取值(正向与反向)只能取值

  t=(11,22,33)

  t[0]=777

  2、切片(顾头不顾尾,步长)

  t=(11,22,33,44)

  print(t[0:4:2])

  3、长度

  t=(11,22,33,44)

  print(len(t))

  4、成员运算in和not in

  t=(11,22,33,[44,55,66])

  5、循环

  t=(11,22,33,[44,55,66])

  for x in t:

    print(x)

  补充:

  t=(33,22,33,[44,55,666])

  print(t.count(33))

  print(t.index(33,1,4))

  可以存多个值,有序,不可变

三、字典

  1、用途:按照key:value的范式来存放多个值,其中key对value应该有描述性的效果

  2、定义方式:在{}内用逗号分隔开多个元素,每个元素都是key:value的组合,其中value可以是任意类型,但是key必须是不可变类型,通常是字符串类型

  3、数据类型的转换

  res= dict([(''name'',''egon''),["age",18],[]"gender","male"])

  print(res)

  res=dict(a=1,b=2,c=3)

  print(res)

  

res = {}.fromkeys(['name',"age","gender"],None)
res = {}.fromkeys(['name',"age","gender"],11)
res["name"]=666
print(res)

res = {}.fromkeys(['name',"age","gender"],[])
res["name"]=666
res["name"].append(1111111)
print(res)

  4、常用操作+内置方法

  优先掌握:

  1、按照key来存取值,可存可写

  

res = {}.fromkeys(['name',"age","gender"],None)
res = {}.fromkeys(['name',"age","gender"],11)
res["name"]=666
print(res)

res = {}.fromkeys(['name',"age","gender"],[])
res["name"]=666
res["name"].append(1111111)
print(res)

  2、长度len

  d={''k1'':111,'k2':222}

  print(len(d))

  3、成员运算in和not in:判断的是key

  

d={"name":"egon",'age':18}
print("name" in d)

  4、删除

  三种删除方法

d={"name":"egon",'age':18}
print(d)
del d["name"]

v = d.pop("name")
print(d)
print(v)

item = d.popitem()
print(item)
print(d)

  5、键keys(),值value(),键值对items()

  

d={"name":"egon",'age':18,"gender":"male"}
print(d.keys())
print(d.values())
print(d.items())

  6、循环

  

d={"name":"egon",'age':18,"gender":"male"}
for k in d.keys():
    print(k)

for k in d:
    print(k)

for v in d.values():
    print(v)

for k,v in d.items():  # k,v = ('gender', 'male'),
    print(k,v)

print(list(d.keys()))
print(list(d.values()))
print(list(d.items()))

  7、需要掌握

  清空操作:

  

d={"name":"egon",'age':18,"gender":"male"}
d.clear()
print(d)

  

  d.copy浅拷贝

  key不存在则添加key:value,key如果存在则不变

  

d={"name":"egon",'age':18,"gender":"xxx"}
if "gender" not in d:
    d['gender']="male"
d.setdefault("gender","male")
print(d)

  

  update

  更新列表

  

d={"name":"egon",'age':18,"gender":"male"}
d.update({"k1":111,"name":"xxx"})
print(d)

  总结:列表可以存多个值,无序,可变的

  

  

posted @ 2020-12-23 16:13  BaiM0  阅读(220)  评论(0编辑  收藏  举报