• Python 学习日记 第七天


    日常鸡汤:

      你快别努力了,躺着比向前冲舒服


    一、基本类型数据补充

    1. 补充字符串的一个基本操作

    str.join(str)                把前面的字符串插入到括号里面的字符串中

    1 s = "alex"
    2 
    3 d = '_'.join(s)
    4 print(d)                      #  输出 a_l_e_x

    2.有序列表和无需字典的循环删除分析:

    2.1有序列表的循环删除

    1 li =[11,22,33,44]
    2 for e in li:
    3     li.remove(e)
    4 print(li)                           #   输出 [22,44]

     分析原因:for的运行过程中,会有一个指针来记录当前循环的元素是那一个,一开始这个指针指向第0个,然后获取到第0个元素,紧接着删除第0个,这个时候,原来是第一个元素会自动变成第0个,然后指针向后移动一次,指向1元素,这时原来的1已经变成了0,也就不会删除了。

    接下来尝试了del删除,和pop删除,但是都不太好使。所以,只有用另一个列表先记录你要删除的内容,然后循环删除

     1 li = [11,22,33,44]
     2 
     3 del_li = []
     4 
     5 for e in li:
     6     del_li.append(e)
     7 
     8 for e in del_li:
     9     li.remove(e)
    10 
    11 print(li)              # 输出[]

    注意:由于删除元素会导致元素的索引改变,所以容易出现问题,尽量不要在循环中直接去删除元素,可以把要删除的元素添加到另一个集合中,然后在批量删除

    2.2 无序字典的循环删除

     1                             
     2 
     3 
     4 li = {'name':'alex','age':18,'add':'sh'}
     5 
     6 for key in li.keys():
     7     del li[key]
     8 
     9 print(li)
    10 
    11 
    12 
    13 
    14 # 会报错
    15 
    16 # RuntimeError: dictionary changed size during iteration

    3. dict中的fromkey()  

    fromkey()               可以通过一个序列帮我们创建一个字典,然后返回值为这个字典(切记,有返回值,对原字典不改变)

    1 dic =dict.fromkeys('abc','abb')
    2 print(dic)                                         # {'a': 'abb', 'b': 'abb', 'c': 'abb'}

    4.类型的转换

    元组-----》列标               list(tuple)

    列表-----》元组               tuple(list)

    能够转换成False的数据;

    0,‘’,None,[],{},(),set()       ====>  False

    二、set集合

    set集合是python中的一个基本数据类型,一般不是很常用,set中的元素是不重复,无序的,里面的元素必须是可以hash的,简言之,set就是dict类型的数据,但是里面不存Value,只保存key,  set也用{}表示

    1.增

    add(str)       # 添加字符串的内容

    update(str)  # 迭代更新

    2.删除

    pop()           # 随意弹出一个

    remove()     # 删除指定的元素,但是不存在就会报错

    clear()         # 清空set

    3.修改

    因为无需,所以无法定位,采取先删除后增加的方法

    4.查询

    set是一个可迭代的对象,所以用for进行循环

    三、深浅拷贝

    定义: 深拷贝是对于一个对象所有层次的拷贝(递归)copy.deepcopy

               浅拷贝是对于一个对象的顶层拷贝;通俗的理解是:拷贝了引用,并没有拷贝内容.copy.copy

    http://www.cnblogs.com/Eva-J/p/5534037.html   

  • 相关阅读:
    JQuery
    如何垂直居中一个浮动元素
    Bootstrap概述
    浮动元素的水平居中
    图(Prime算法、 Kruskal算法、Dijkstra算法、Floyd算法、AOV网)
    排序(插入排序、选择排序、交换排序、二路归并排序、基数排序、外部排序)
    实验二 Scala编程初级实践
    数据类型、运算符
    用栈求前缀表达式值
    用栈求后缀表达式地的值
  • 原文地址:https://www.cnblogs.com/Chamster/p/9292803.html
Copyright © 2020-2023  润新知