zoukankan      html  css  js  c++  java
  • 爬虫_小结01


    1、python中常用的数据结构有哪些?请简要介绍一下。
    列表list,元祖tuple,字典dict,字符串str,集合ser,数字int

    2、简要描述python中单引号、双引号、三引号的区别。
    首先,单引号和双引号在使用时基本上没有什么区别,唯一需要注意的是:当字符串中有单引号时,最好在外面使用双引号;
    当有双引号时,最好在外面使用单引号。
    三引号一般不常用,除了用来做注释之外,还可以用来打印多行字符串。特殊用途,是可以打印多行字符串。


    3、如何在一个function里设置一个全局的变量。
    在函数内部是无法定义一个全局变量的,只能做到修改已经定义的全局变量。


    4、python里面如何拷贝一个对象?(赋值、浅拷贝、深拷贝的区别
    (1)赋值:其实就是对象的引用。相当于C的指针,修改了其中一个对象,另一个跟着改变。
    (2)浅拷贝:拷贝父对象,但是不会拷贝父对象的子对象。
    (3)深拷贝:完全拷贝了父对象和子对象

    总结:
    (1)当对象为不可变类型时,不论是赋值,浅拷贝还是深拷贝,那么改变其中一个值时,另一个都是不会跟着变化的。
    (2)当对象为可变对象时,如果是赋值和浅拷贝,那么改变其中任意一个值,那么另一个会跟着发生变化的;如果是深拷贝,是不会跟着发生改变的。


    5、如果custname字符串的编码格式为uft-8,如何将custname的内容转化为gb18030的字符串?
    先将custname编码格式转换为unicode,在转换为gb18030。即custname.decode('utf-8').encode('gb18030')。


    6、请写出一段python代码实现删除list中的重复元素。

    a = [1, 2, 3, 4, 5, 2, 3]
    def fun1(a):
      a = list(set(a))
      print(a)
    fun1(a)


    7、这两个参数是什么意思?args和 kwargs。

    *args和**kwargs主要用于函数定义
    *args 是用来发送一个非键值对的可变数量的参数列表给一个函数;
    **kwargs 允许你将不定长度的键值对, 作为参数传递给一个函数

    8、
    (1)统计如下list单词及其出现的次数。
    a=['apple', 'banana', 'apple', 'tomato', 'orange', 'apple', 'banana', 'watermeton']

    from collections import Counter
    a = Counter(a)
    print(a)


    dic = {}
    for i in a:
      dic[i] = dic.get(i,0) + 1
    print(dic)


    (2)给列表中的字典排序:例如有如下list对象: 将alist中的元素按照age从小到大排序。
    alist=[{"name":"a", "age":20}, {"name":"b", "age":30}, {"name":"c", "age":25}]
    alist2 = sorted(alist,key=lambda i:i["age"],reverse=False)
    print(alist2)

     

     

  • 相关阅读:
    单元测试——破除依赖
    单元测试——基础概念
    2015年9月书单推荐
    菜鸟vimer成长记——第4.2章、编程插件
    克服弱点,愈发完美-自我篇——《人性的弱点》读后感
    菜鸟vimer成长记——第4.0章、Vim插件管理利器-Vundle
    菜鸟vimer成长记——第3章、文件
    阿里IPO法律咨询费达1580万美元 为Facebook六倍
    新移民漫画家 以幻想构筑奇妙世界
    请教Amazon FBA里面Label Service, Stickerless, Commingled Inventory是什么意思?
  • 原文地址:https://www.cnblogs.com/MR-allen/p/10841369.html
Copyright © 2011-2022 走看看