李沐尘181216学习记录C

序列

1.应用

1.1 索引

1.从0开始,第一个为0,第二个为1,第n个为n-1
2.也可为负数,第n个为-1,第一个为-n
3.通过索引访问序列中任何元素,该元素为 序列名[索引]

1.2 切片

sname[start : end : step]

sname:序列名
start:切片开始位置,包含,默认0
end:截止位置,不包含,默认序列总长
step:步长,默认1

1.3 序列相加

不能将列表和元祖相加,也不能将列表和字符串相加

1.4 序列乘法

将序列元素重复

1.5 检查元素是否为序列成员

value in sequence

返回值为true或false

1.6 相关内置函数

len()函数:返回序列包含元素数
max()与min():返回元素中的最大值与最小值
sum():返回序列元素和

2.列表

2.1 列表创建删除

listname = [element 1,element 2,element 3,...,element n]

listname:列表名,符合Python规则的标识符即可
element:元素,Python支持的数据类型可以

2.1.1 创建空列表:
listname = []
2.1.2 创建数值列表

可以使用list()函数直接将range()函数循环出来的结果转化为列表
例如list(range(10,20,2))即可创建一个10-20所有偶数的列表
结果为:[10,12,14,16,18]

2.1.3 删除列表
del listname

2.2 遍历列表

2.2.1 直接使用for循环
for item in listname:
	#输出item
2.2.2 使用for循环和enumerate()函数实现
for index,item in enumerate(listname)
	#输出index和item

index:保存元素索引
item:保存获取的元素值
listname:列表名

2.3 添加修改删除列表元素

2.3.1添加元素:
listname.append(obj)

listname:列表名
obj:添加到列表末尾的对象

我们还可以将一个列表全部元素添加到列表:

listname.extend(seq)

seq:要添加的列表

2.3.2 修改元素与删除元素

修改元素通过索引获取该元素并对其重新复制即可
删除可用del语句

del 列表名[索引]

或者使用remove()方法删除

列表名.remove(元素)

不过当其元素不存在会出现错误信息

2.4 列表的统计和计算

2.4.1 获取指定元素出现次数
listname.count(obj)

返回值:元素在列表中出现次数

2.4.2 元素首次出现位置
listname.index(obj)

返回值:首次出现的索引

2.4.3 计算元素和
sum(iterable[,start])

iterable:要统计的列表
start:从那个数开始(即统计结果加上这个数)

2.5 排序列表

2.5.1 列表对象的sort()方法
listname.sort(key=None,reverse=False)

key=str.lower为则排序不分大小写,该值可省略
reverse:True为降序,False为升序,默认升序

2.5.2 使用内置函数sorted()
sorted(iterable,key=None,reverse=False)

使用sorted()函数不会对原列表进行更改

2.6 列表推导式

2.6.1 生成指定范围数值列表
list = [Expression for var in range]

list:生成列表名
Expression:表达式,用来计算元素
var:迭代变量
range:range对象

2.6.2 生成指定需求列表
newlist = [Expression for var in list]

newlist:生成列表名
Expression:表达式,用来计算元素
var:迭代变量
range:range对象
案例:

price = [1200,2000]
sale = [int(x*0.5) for x in price]
2.6.3 从列表选择元素组成新列表
newlist = [Expression for var in list if condition]

newlist:表示新生成的列表名
Expression:计算新列表元素的表达式
var:变量,值为后面列表的每个元素值
list:用于生成新列表的原列表
condition:筛选的条件表达式

2.7 二维列表

2.7.1 直接定义二维列表
listname = [[元素,元素],[元素,元素]]
2.7.2 使用嵌套的for循环创建

例子:


    arr = []                            #创建空列表
    for i in range(4):         
    	arr.append([])                  #在空列表中再添加一个空列表
    	for j in range(5):
    		arr[i].append(j)            #为第二维空列表添加元素

2.7.3 使用列表推导式创建

例子:

arr = [[j for j in range(5)] for i in range(4)]
2.7.4 访问二维数组
listname[下标1][下标2]

3 元组

3.1 元组的创建删除

3.1.1 赋值运算符直接创建
tuplename = (element 1,element 2,element 3,...,element n)

假如元组只有一个元素,需要在元素后加一个逗号,否则则会定义字符串,例如:

versel = ("123",)
3.1.2 创建空元组
emptytuple = ()
3.1.3 创建数值元组,使用tuple()函数
tuple(data)

data为转换为元组的数据,类型可以是range对象,字符串,元组,或者其他可迭代类型的数据

3.1.4 删除元组
del tuplename

3.3 访问与修改元素

3.3.1 访问元素

访问元组元素同列表

3.3.2 修改元素

元组不能直接修改,只能重新赋值,并且可以在已存在元组结尾添加一个新元组,使用“+”

3.4 元组推导式

推导式和列表类似,只是将[]改为(),不过元组推导式生成的不是元组或者列表,是一个生成器对象,需要使用tuple()函数转化为元组或者使用list()函数转换为列表,例如:

improt random                                        #导入random标准库
randomnumber = (random.randint(10,100) for i  in range(10))
randomnumber = tuple(randomnumber)                   #转换为元组
randomnumber = list(randomnumber)                    #转换为列表
3.4.1 生成器对象

使用元组推导式获得的生成器对象,在遍历后清空,若要再使用则需要重新生成
例如使用_next_()方法输出元素每个值:

number = (i for i in range(3))
print(number._next_())                    #输出第1个元素
print(number._next_())                    #输出第2个元素
print(number._next_())                    #输出第3个元素
number = teple(number)                    #转换为元组
print(number)

结果为:

0
1
2
()

或者使用for循环遍历生成器对象并输出,如下

number = (i for i in range(4))
for i in number:
	print(i,end=" ")
print(tuple(number))

结果为

0 1 2 3 ()

3.5 元组与列表的区别

1.元组不能直接添加,修改,删除元素
2.元组的访问速度比列表快,所以当只需要访问不进行修改时建议使用元组
3.列表不能作为字典的键,元组可以

4 字典

特征:
通过键来读取,无序,可变,以“键-值对”形式存放,键必须唯一并且不可变

4.1 字典的创建

创建字典时,使用冒号分隔键和值,逗号分隔相邻两个元素,所有元素放在一对“{}”中

4.1.1创建空字典:
dictionary = {}
或者
dictionary = dict()
4.1.2 通过映射函数创建字典
dictionary = dict(zip(list1,list2))

dictionary:字典名
zip()函数:将多个列表或元组对应位置的元素组合为元组,并返回包含这些内容的zip对象。若想获得元组可以使用tuple()函数转换,若想要获得列表则可以使用list()函数转换。

4.1.3 通过给定值对创建字典
dictionary = {'key1':'value1','key2':'value2'}
或者
dictionary =dict(key1=value1,key2=value2)
4.1.4使用dict对象的fromkeys()方法创建值为空的字典:
dictionary = dict.fromkeys(list)

dictionary:新字典名

4.1.5 通过已存在的元组和列表创建字典

例如:

字典名 = {元组名:列表名}
4.1.6 删除字典

删除整个字典:del

del dictionary

删除字典内全部元素:clear()方法

dictionary.clear()

除此之外还有其他的删除方法:
pop()方法:删除并返回指定键的元素
popitem()方法:删除并返回字典中的一个元素

4.2 字典的访问

4.2.1 全内容输出
print(dictionary)
4.2.2 通过键访问
print(dictionary[键])

通过指定键位获取值时,若指定键位不存在,则会提示异常
或者使用get()方法获取指定键的值

dictionary.get(key,[default])

key:指定键
default:当指定键位不存在时的一个默认返回值,省略则会返回None

4.3 遍历字典

dictionary.items()

返回值为可遍历的(键-值对)的元组列表,若想获取到具体键-值对,可通过for循环遍历该元组列表,例如:

dictionary = {键:值,键:值}
for item in dictionary.items():
	print(item)

获取具体的每个键和值:

dictionary = {键:值,键:值}
for key,value in dictionary.items():
	print(key,value)

4.4 添加,修改,删除字典元素

添加元素

dictionary[key] = value

当键位已存在,即为修改元素
删除字典内元素:

del dictionary[键]

在无该键位是会报异常

4.5 字典推导式

例如生成一个包含五个随机数的字典:

import random
randomdict = {i:random.randint(10,100) for i in range(1,6)}
print(randomdict)

5 集合

特征:元素不重复,作用是去除重复元素

5.1 集合的创建

集合的所有元素放在一对{}中,两个相邻元素中用“,”分隔

5.1.1 直接使用{}创建
setname = {element 1,element 2}

在创建集合的时候若是输入重复元素则会自动保留一个

5.1.2 使用set()函数创建
setname = set(iteration)

setname:集合名称
iteration:转换为集合的可迭代对象,包括列表,元组,range对象等,也可以是字符串,若为字符串则是包含全部不重复元素的集合

5.2 集合的添加

添加

setname.add(element)

setname:要添加元素的集合
element:添加的元素内容,只能使用字符串,数字及布尔类型的True或者False,不能使用列表,元组等可迭代对象

5.2 集合的删除

setname.remove(指定元素)                #删除指定元素
setname.pop()                          #返回并删除第一个元素
setname.clear()                        #删除所有元素

5.3 集合的交集,并集和差集运算

交集:& 并集:丨 差集:-

猜你喜欢

转载自blog.csdn.net/u013620199/article/details/85039199