元组、列表、字典
元组
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中的键。
本文来自博客园,作者:爱吃帮帮糖,转载请注明原文链接:https://www.cnblogs.com/monkeyT/p/9374211.html