马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 lihling7 于 2019-5-17 10:49 编辑
012列表:打了激素的数组(常用操作符和内置函数)一、列表的常用操作符 1、比较操作符: > ,< ,... 列表中第一个元素比较完是false直接返回false,不再比较后面的值 but >>> a = [123, 456]
>>> b = [123, 555]
>>> a > b
False
>>> a == b
False
>>> a < b
True
虽然第一个元素相等,但不能认为两个列表相等 2、逻辑操作符 and ,not , or >>> (list1 < list2) and (list1 == list3)
True
3、连接操作符:+ >>> list4 = list1 + list2
>>> list4
[123, 456, 234, 123]
+号两边的类型要一样,一般增加一个列表用extend更加规范。 4、重复操作符:* >>> list3 = [1, 2]
>>> list3*3
[1, 2, 1, 2, 1, 2]
5、成员关系操作符: >>> list5 = [123, ['小甲鱼','牡丹'], 456]
>>> '小甲鱼' in list5
False
>>> '小甲鱼' in list5[1]
True
>>> list5[1][0]
'小甲鱼'
二、列表的内置函数 1、查看内置函数 >>> dir(list) #返回list的内置函数
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
2、count:计算在列表中出现的次数 >>> list3
[123, 456, 123, 456, 123, 456]
>>> list3.count(123)
3
3、index:索引元素的位置 >>> list3
[123, 456, 123, 456, 123, 456]
>>> list3.index(123)
0
>>> list3.index(123, 1,4)
2
第5行在1~4的位置范围内索引 4、reverse 翻转 >>> list3 = [123, 456, 123, 456, 123, 456]
>>> list3.reverse()
>>> list3
[456, 123, 456, 123, 456, 123]
5、sort 排序 sort(func , key , reverse)func默认算法是归并排序,key是和算法搭配的关键字 reverse默认等于false,即从小到大排序 >>> list6 = [4, 3, 2, 5, 9, 56, 33]
>>> list6.sort()
>>> list6
[2, 3, 4, 5, 9, 33, 56]
>>> list6.sort(reverse = True)
>>> list6
[56, 33, 9, 5, 4, 3, 2]
三、作业 1、第2个old是一个新的列表,所以影响不到new >>> old = [1, 2, 3, 4, 5]
>>> new = old
>>> old = [6]
>>> print(new)
[1, 2, 3, 4, 5]
2、list的内置函数copy() >>> list1 = ['abc', 1, 2, [0, 0]]
>>> list2 = list1.copy()
>>> list2
['abc', 1, 2, [0, 0]]
3、list的内置函数clear() >>> list2.clear()
>>> list2
[]
4、列表推导式/ 列表解析 在 [ ] 中输入表达式,生成符合要求的列表 >>> [i*i for i in range(10)]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> list1 = ['1.just do it','2.一切皆有可能','3.让编程改变世界','4.nothing is impossible']
>>> list2 = ['4.addidas','2.李宁','3.fishc','1.耐克']
>>> list3 = [b + ':' + a[2:] for a in list1 for b in list2 if(a[0]== b[0])]
>>> list3
['1.耐克:just do it', '2.李宁:一切皆有可能', '3.fishc:让编程改变世界', '4.addidas:nothing is impossible']
|