列表的操作和字典的访问

  一.列表的三种浅拷贝

列表中的元素可以是不同类型的元素,区别与c语言的数组

    1. list(列表对象)
    2. list_new_name=list_name[ :]
    3. copy.copy(列表对象)#适应于其他对象
    • 补充:  for index,value  in  enumerate(列表对象)#函数的返回值是元组(index,value)

  二.深层拷贝

copy.deepcopy(拷贝对象)

三.变相的加密方法

p=str.maketrans(加密前的元素,对应的加密后的元素)#str是字符串库,这是转换的方法

字符串实例.translate(p)#p是对应的法则

p = str.maketrans("12345","abcde")
str_name = "234876"
print(str_name.translate(p))

四.访问字典的两种方法(建议用第一种)

    1. for   i in dict实例:相当于迭代器

                print(i,dict[i])

       2. for  key,value  in  dict实例.item():

               print(key,value)

五.创建一个字典的方法

  dict.formkeys(列表,值)#列表中的元素作为字典的下标,每一键对应的值是后一个形参

  无论值是不是一个复杂类型

list  =  ["name","age"]
dict _name = dict.formkeys(list,['alex',23])
print(dict _name)

  实际应用 dict.formkeys(列表,none)同时默认也是none

六.检测是否会有重叠的键,没有则创建,有则更新

  字典对象.update(另一个字典对象),也是在字典中同时添加多个元素

 补充:

1.exit()#用于退出整个程序,里面可以带字符串,作为退出程序的说明

2.变量赋值

a = 1
b=a 
a=2
print(a,b)

    内存会为1划分一块空间,a将获得该地址,b=a是将1的地址同意发给b,重新为a

   是在内存为2重新划分一块空间,a将指向这个地址,而b不会改变

 3.列表方法的总结

   查:

        通过索引(下标)

         .count(元素内容)   查询该元素在列表出现的次数

        .index(元素内容)   查询该元素在列表出现的下标,但若有相同的该元素,则取第一个

   获取第二个该元素的方法,先获取第一个 在切片,在获取

long_list = [1,2,3,5,2,6,8]
first_in  =long_list. index(2)
son_list = long_list[first_in+1:]
sec_in = son_list.index(2)
aim = long_list[firt_in+sec_in+1]

      元素内容   in   list   查询该元素是否在该列表中,也可以通过count函数

增:

      a.append()  追加

     a.insert(index,内容)  插入

      a.extend(list)  添加一个列表

 修改:

       a[index] = 新值

        a[staret:end] = [新列表]

删除:

        a.pop(index)  删除并返回该要删除的值,不加参数,默认返回最后一个

        a.remove(内容)

         del a,del a[index]

        a.clear()清空

排序:

        a.sort()升序/a.sort(reverse=True)降序

       

        a.reverse()

4.字典的方法总结

   #a是一个字典,key唯一,无序

键不能是不可哈希的数据,值可以为任意的值,有有两个键相同,取出来的是第一个

   增:

 

        a['name'] = 'alex'

       a=dict((('name','alex'),))#创建一个新的字典,空字典{}

       a.update(b)#b是另一个字典,若有相同则更新,没有则创建

        a.setdafaout('age'=23)设置默认值

        a.formkeys(["name","age"],[1,2,3])#该函数只有两个参数,第一个参数是由keys组成的列表,第二个参数是每一个key的value,用于初始化,但值最好不能是可变类型,是浅拷贝

如:a['name'][1]= 0

 

 删:

     del   a['name']   #将整个键值对都删除了

      del a #删除了整个字典

     value = a.popitem('name')   #删除该键值对,并返回该键对应的值,没有参数则随机删除

    a.remove()

   a.clear()#清空字典

改:

    a['name'] = new_value

查:

    key in a  #若该键在a中返回true

a =   {'name':'alex','age':24}
for key in a:#key是一个形参
     print(key,a[key])#最高效

  不高效,不推荐

for keys,values in a.items():#keys,values是形参,items先返回一个列表,占空间
     print(keys,values)

排序:

        sorted(a)   sorted(a.items())    sorted(a.keys())  均是以key的值进行排序

         sorted(a.values())  以值排序

       

posted on 2019-09-18 09:06  居一雪  阅读(535)  评论(0编辑  收藏  举报

导航