zoukankan      html  css  js  c++  java
  • devi into python 笔记(一)字典 列表的简单操作

    模块

    python中模块是很重要的概念,在模块中加入

    if __name__ == "__main__":
      pass

    会使模块应用起来更加灵活,避免出错。

    ==================================

    字典dictionary

    python 字典中元素是无序的,并且对于键来说是大小写敏感的。

    向字典添加元素:直接写dic['new'] = 'new'

    del dic['new'] 删除一个元素

    dic.clear() 清空dic,返回一个空dic,打印出的是:{}

    ==================================

    列表list

    列表中元素有序。负的索引可以理解为:数轴上0-5个数,list[0]往前就是list[-1],对应最后一个。也可以理解为list[-n] 就是倒数第n个元素。

    列表切片slice:list[0:3] 返回一个新的list2,新的list2是从list[0]开始,到list[2]结束,也就是说list2不包含list[3]。

    列表切片也可以简写,list[:3] 等同于list[0:3] ,list[3:] 等同于 list[3:len(list)],list[:]返回的是全部元素。注意,所有slice返回的都是新的list


    向列表添加元素:list.append('new'),在list末尾添加新元素。list.insert(2, 'new'),在索引2插入new,这样一来,打印list[2]就是new了。注意,insert中给的索引超出原有list范围的话默认是给到最后一个索引,比如

    l = ['a', 'b']
    l.insert(5, 'c')

    这样想在5的位置插入'c',但实际上是将'c'插在了2的位置上。list[2]应该是'c',而打印list[5]会报错,IndexError : list index out of range。

    list.extend(list2):把list2连接到list后边。

    l = ['a', 'b']
    l2 = ['c', 'd'] 
    l.extend(l2)

    这样l就成了['a', 'b', 'c', 'd'],而l2没变,还是原来的l2。

    注意:appendextend都是追加,也都是接受一个参数,但是append接受任意类型参数,然后只简单的给原list扩充一个元素。而extend则接受一个list类型的参数,然后将其连接到原list后。

    列表查找:list.index('xxx'),返回'xxx'在list中首次出现的位置。如果xxx不在list中,那么会抛出异常,可用 in 来检测:

    #在其中返回True,不在其中返回False
    if 'xxx' in mylist:
        return 'yes'
    else:
        return 'no'

    删除list元素:list.remove('xxx'),如果xxx在list中有多个,那么只删除首次出现的xxx。list.pop()删除最后一个元素并返回删除的元素,可理解为弹栈操作。

    与list有关的运算符:list + list2,是将list2连接在list后面,但与extend不同的是,+ 运算符返回的是一个新的list,而extend是在list的基础上添加list2,所以建议使用extend,有其实list很大的时候。

  • 相关阅读:
    ME05 黑匣子思维
    F06 《生活中的投资学》摘要(完)
    ME03 关于运气要知道的几个真相
    ME02 做一个合格的父母To be good enough parent
    ME02 认知之2017罗胖跨年演讲
    F03 金融学第三定律 风险共担
    F05 敏锐的生活,让跟多公司给你免单
    ML04 Accord 调用实现机器算法的套路
    D02 TED Elon Mulsk The future we're building — and boring
    ML03 利用Accord 进行机器学习的第一个小例子
  • 原文地址:https://www.cnblogs.com/lipijin/p/3158658.html
Copyright © 2011-2022 走看看