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很大的时候。

原文地址:https://www.cnblogs.com/lipijin/p/3158658.html