元组、列表、字典
程序员文章站
2024-01-21 20:16:16
元组 1.与字符串相同的是元组是一些元素的不可变有序序列。与字符串的区别是元组中的元素不一定是字符,其中的按个元素可以是任意类型,且他们彼此之间的类型也可以不同。 2.元组可以进行的操作: 重复操作、连接、索引、切片... 3*('a',2) = ('a',2,'a',2,'a',2) ('a',2 ......
元组
1.与字符串相同的是元组是一些元素的不可变有序序列。与字符串的区别是元组中的元素不一定是字符,其中的按个元素可以是任意类型,且他们彼此之间的类型也可以不同。 2.元组可以进行的操作: 重复操作、连接、索引、切片... 3*('a',2) = ('a',2,'a',2,'a',2) ('a',2) + ('b',3) a = (1,2,3) a[0] = (1) a = (1,2,3) a[0:2] = (1,2)
字符串
s.count(s1):计算字符串s1在s中出现的次数。 s.find(s1):返回子字符串s1在s中第一次出现时的索引值,如果s1不在s中,则返回-1。 s.rfind(s1):功能与find相同,只是从s的末尾开始反向搜索(rfind中的r表示反向)。 s.index(s1):功能与find相同,只是如果s1不在s中,则抛出一个异常(第7章)。 s.index(s1):功能与index相同,只是从s的末尾开始。 s.lower():将s中的所有大写字母转换为小写。 s.replace(old, new):将s中出现过的所有字符串old替换为字符串new。 s.rstrip():去掉s末尾的空白字符。 s.split(d):使用d作为分隔符拆分字符串s,返回s的一个子字符串列表。
列表
1.与元组类似,列表也是值的有序序列,每个值都可以由索引进行标识。区别列表使用的是中括号,而元组使用的是小括号。 注意:空列表写作[],单元素列表不需要再比括号前面加上那个(特别容易忘掉的)逗号 2.列表是可变的,而元组和字符串是不可变的。 3.列表操作: L.append(e):将对象e追加到L的末尾 L.count(e):返回e在L中出现的次数 L.insert(i,e):将对象e插入L中索引值为i的位置 L.extend(L1):将L1中的项目追加到L末尾 L.remove(e):从L中删除第一个出现的e L.index(e):返回e第一次出现在L中时索引值。若e不在L中,抛出一个异常 L.pop(i):删除并返回L中索引值为i的项目。若L为空,则跑出异常;i被省略,默认为-1,删除并返回L中最后一个元素 L.sort(i):升序排列L中的元素 L.reverse():翻转L中元素的顺序
列表推导式
1.列表推导式提供了一种简介的方式,将某种操作应用到序列中的一个值上。他会创建一个新列表,其中的每个元素都是一个序列中的值应用给定操作后的结果。 mixed = [1, 2, 'a', 3, 4.0] print([x**2 for x in mixed if type(x) == int])
高阶函数
1.使用函数作为实参可以实现一种名为高阶编程的编码方式,这种方式与列表结合使用非常方便。 2.map高阶函数: a.map函数被设计为与for循环结合使用。在map函数的最简形式中,第一个参数是个一元函数(即只有一个参数的函数),第二个参数是有序的值集合,集合中可以一元函数的参数. b.map函数更一般的的形式是,第一个参数可以是具有N个参数的函数,在这种情况下,它后边必须跟随着N个有序集合(这些集合的长度都一样) L1 = [1, 28, 36] L2 = [2, 57, 9] for i in map(min, L1, L2): print(i) 3.匿名函数 匿名函数就是没有绑定名称的函数,这时要使用保留字lambda。一般表达式的形式为: lambda <sequence of variable names>: <expression> lambda表达式lambda x,y:x*y会返回一个函数,这个函数的返回值为两个参数的乘积。lambda表达式经常用作高阶函数的实参。 L = [] for i in map(lambda x,y:x*y,[1,2,3,4],[3,2,1,0]): L.append(i) print(L) 输出:[1,4,3,1]
序列类型比对
类型 元素类型 字面量示例 是否可变 str 字符型 '','a','abc' 否 tuple 任意类型 (),(2,),('abc',4) 否 range 整型 range(10) 否 list 任意类型 [],[3],['abc',4] 是
字典
1.字典(dictionary)类型的对象与列表很相似,区别在于字典使用键对其中的值进行引用,可以将字典看做一个键/值对的集合。字典类型的字面量用大括号表示,其中元素写法是键加冒号再加上值。 monthNumbers = {'Jan':1, 'Feb':2, 'Mar':3, 'Apr':4, 'May':5, 1:'Jan', 2:'Feb', 3:'Mar', 4:'Apr', 5:'May'} 2.dict中的项目是无序的,不能通过索引引用。 3.dict的操作: len(d):返回d中项目的数量。 d.keys():返回d中所有键的视图。 d.values():返回d中所有值的视图。 k in d:如果k在d中,则返回True。 d[k]:返回d中键为k的项目。 d.get(k, v):如果k在d中,则返回d[k],否则返回v。 d[k] = v:在d中将值v与键k关联。如果已经有一个与k关联的值,则替换。 del d[k]:从d中删除键k。 for k in d:遍历d中的键。
上一篇: 那些年踩过的坑
下一篇: 详解JS函数stack size计算方法