1、内建函数 len,min,max
len返回元素数量,或者字符串长度
min返回最小值
max返回最大值
numbers = [100,1,-10,255] >>> max(numbers) 255 >>> min(numbers) -10 >>> max(100,5,886) 886 >>> min(20,-7,-233,156) -233 |
2、列表是python中的苦力,可修改
list把元素转换成列表
>>> list("hello") ['h', 'e', 'l', 'l', 'o'] a = list("hello") >>> "".join(a) 'hello' |
为元素赋值
>>> a = [2,3,1]
>>> a[0]=5
>>> a
[5, 3, 1]
删除元素
>>> a = [-1, 3, 'aa', 85] # 定义一个list >>> a [-1, 3, 'aa', 85] >>> del a[0] # 删除第0个元素 >>> a [3, 'aa', 85] >>> del a[2:4] # 删除从第2个元素开始,到第4个为止的元素。包括头不包括尾 >>> a [3, 'aa'] >>> del a # 删除整个list >>> a Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'a' is not defined |
分片赋值 [ x : y ] x,y为序号,留空则表示直到最前 / 最后
>>> a = [1,2,3,4,5]
>>> a[1:]
[2, 3, 4, 5]
>>> a[:1]
[1]
>>> a[:]
[1, 2, 3, 4, 5]
>>> a[:1]=[5]
>>> a
[5, 2, 3, 4, 5]
分片赋值可以提取元素,为多个元素赋值,插入元素,删除元素
3、列表方法 的格式为: 对象.方法(参数) 对象放最前,中间用一个点号隔开,后面接方法,再接一个括号,括号里写参数
对象可以是数字,列表,字符串或者其他类型的对象
append 在列表末尾追加新对象
append | 添加元素 (入栈) | 向列表的尾部添加一个新的元素。只接受一个参数 | append()用法示例: mylist = [1,2,0,'abc'] mylist.append(4) mylist [1, 2, 0, 'abc', 4] |
count 统计某个元素在列表里出现的次数
count() | 返回子串在指定范围内出现的次数 str.count(sub, start=0,end=len(string)) | str = "this is string example....wow!!!" sub = "i" print "str.count(sub, 4, 40) : ", str.count(sub, 4, 40) sub = "wow" print "str.count(sub) : ", str.count(sub) 结果显示 str.count(sub, 4, 40) : 2 str.count(sub, 4, 40) : 1 |
extend 在列表末尾一次性追加另一个序列的多个值
extend | 添加元素 | 只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中 | extend()用法示例: mylist [1, 2, 0, 'abc', 4, 'haha'] mylist.extend(['lulu']) mylist [1, 2, 0, 'abc', 4, 'haha', 'lulu'] |
index 从列表中找出某个值第一个匹配的索引位置
index() | index()返回子串在指定范围内首次出现的位置,未查到抛出异常 str.index(str, beg=0end=len(string)) | str = "this is string example....wow!!!" str = "exam" print str.index(str) print str.index(str, 10) print str.index(str, 40) 显示结果 15 15 Traceback (most recent call last): File "test.py", line 8, in print str.index(str, 40); ValueError: substring not found |
insert 将对象插入到列表 insert(编号,替换的内容)
insert | 插入 | 将对象插入到列表中 | >>> a = [1,2,3,4,5] >>> a.insert(0,6) >>> a [6, 1, 2, 3, 4, 5] |
pop 移除列表的最后一个元素,并返回该元素的值 pop()括号里的值默认为列表最后一个,可以自己设定,比如pop(0)则删除列表第一个元素
pop() | 列表删除,移除字典数据 (出栈) | 删除指定给定键所对应的值,返回这个值并从字典中把它移除。 一般删除对象方法会直接将元素删除,而pop()方法在删除指定对象时,会返回要删除元素的值。可以理解为一个提示作用,提示你删除的是哪一个元素. 注意字典pop()方法与列表pop()方法作用完全不同。 | 字典pop()删除: >>> x = {'a':1,'b':2} >>> x.pop('a') 1 >>> x {'b': 2} 列表pop()删除: list.pop(index=-1) pop()括号内参数是,要删除对象的索引。如果为空则默认为-1最后一项 >>> x = [1,2,3,4] >>> x.pop() 4 >>>x [1,2,3] |
出栈为append () ,入栈为pop(),既 后进先出
如果要先进先出,可以insert(0,元素值)来代替append(),用pop(0)来代替pop()
最好的方案是用collection模块里的deque对象
remove 移除列表某个值的第一项匹配
a = ['g', 'o', 'o', 'd', 'g', 'o', 'b'] >>> a.remove("o") >>> a ['g', 'o', 'd', 'g', 'o', 'b'] |
reverse 倒序排列
reverse | 倒序 | 该方法实际改变了列表,如果想只返回一个倒序的列表但是不改变实际列表,可以用reversed | >>> a = [1,2,3,4,5] >>> a.reverse() >>> a [5, 4, 3, 2, 1] |
reversed | 倒序迭代 | 返回一个迭代的倒序列表,但不改变实际的列表 | >>> a = [1,2,3,4,5] >>> list(reversed(a)) [5, 4, 3, 2, 1] >>> a [1, 2, 3, 4, 5] |
sort 正序排列
sort | 排序命令 | sort(),括号里可以使用两个参数进行详细的设定,key和reverse key使用函数,reverse则为布尔值指明列表是否要反向排序 对列表元素进行升序排列,实际上改变列表的排序,如果只想返回一个升序的列表,但是不改变原列表,可以用sorted | >>> a = [5,2,3,1,4] >>> a.sort() >>> a [1, 2, 3, 4, 5] >>> a.sort(reverse=True) >>> a [5, 4, 3, 2, 1] >>> b = ["abc","ab","abcde","abcd"] >>> b.sort(key=len) #key使用len函数来为列表b按长度排序 >>> b ['ab', 'abc', 'abcd', 'abcde'] |
sorted() | 迭代升序 | 返回一个迭代的升序列表,但不改变原列表的排序 | >>> a = [5,2,3,1,4] >>> sorted(a) [1, 2, 3, 4, 5] >>> a [5, 2, 3, 1, 4] |
4、元组,不能修改,用逗号分隔值,即为元组
如(1,3)
或者 () 元组为空
或者(1,)只有一个值的元组
tuple() 把括号里的东西变成元组
>>> tuple("hello")
('h', 'e', 'l', 'l', 'o')
元组的作用:
①映射中当成键使用
②作为内建函数和方法的返回值存在