day 6 学习总结

一、列表元素数字

1.运算符

1)数学运算符:+,*、

列表1+列表2 - >产生一个新的列表,新列表中的元素是两个列表中元素的合并
list1=[1,2,3]
list2=['张三','李四']
list1+list2=[1,2,3,'张三','李四']

列表n/n列表 ->列表中的元素重复n次产生一个新的列表
list1*3=[1,2,3,1,2,3,1,2,3]

2)比较运算符:两个列表从元素及元素顺序及元素数量一样两个列表才相等

==,!=
注意:is
变量1 is 变量2 ->判断地址是否相等
list3=[1,2,3,4]
list4=[1,2,3,4]
print(list3==list4) true
print(list3 is list4) ==print(id(list3)==id(list4) false

2.in 和 not in

元素 in 列表 -> 判断列表中是否存在指定元素,结果布尔值
元素 not in 列表-> 判断列表中是否不存在指定元素,结果布尔值
"""
name=['张一','李二','王三']
print('张一' in name)#true
print('张二' in name)#false
print(['张一'] in name)#false

"""

,<,<=,>=
print([10,100,3,100])>[10,20]
判断大小,从列表第一个元素开始,当首元素大于比较列表式,直接大于,
当首元素小于等于是,判断下一元素,以此类推,
"""
"""

3.相关函数

1)len(序列) - 获取序列的长度(列表的个数)
2)max/min - 或去序列中的最大值或者是最小值

对于序列的要求:
a.序列中所有的元素的类型一致(数字看成一种类型)
b.在一致的前提下,元素本身支持比较大小
print('abcdef'<'af')
x=91
scores=[23,89,89,78,90,91,12]

3)sum(数字序列) - 求序列中所有元素的和

print(sum(range(101)))

4)list

list(序列) - 将指定的数据转换成列表;但是数据必须是序列 (所有的序列都可以转换成列表)
数字无法转换
print(list(100)) TypeError: 'int' object is not iterable
print(list('hello')) ['h','e','l','l','o']

二、列表相关的函数

1.列表.count(元素) ->统计列表中指定元素的个数

name=['曹操','赵云','刘备','小乔','貂蝉','吕布','诸葛亮','司马懿','小乔']
print(name.count('小乔'))

2.列表.extend(序列)-将序列中的元素全部添加到列表中

name=['曹操','赵云','刘备','小乔','貂蝉','吕布','诸葛亮','司马懿','小乔']
name.append('后裔')
['曹操', '赵云', '刘备', '小乔', '貂蝉', '吕布', '诸葛亮', '司马懿', '小乔', '后裔']
name.extend('后裔')
['曹操', '赵云', '刘备', '小乔', '貂蝉', '吕布', '诸葛亮', '司马懿', '小乔', '后', '裔']
当相与name.extend(['后',裔')
print(name)

3.列表.index(元素) ->获取指定元素在列表中的下标

a.如果元素不存在会报错
b.如果元素有多个

4.列表.revers()->将原来的列表倒叙(反过来)

nums=[1,9,3]
new_num=num[::-1]
print(nums,new_num)

5.列表.clear() ->清空列表

nums =[10,3,50,3,90]
num.clear()
print(num)
注意:一般清空列表使用clear(如同箱子把东西导出来,减少内存提高效率)

6.列表.copy() ->复制列表中的元素产生一个新的列表,将新列表的地址返回,赋值后两个相互不影响

和(列表[:])的功能是一样的,都属于浅拷贝
num=num1 :直接赋值会导致影响原先的列表
num1=num.copy :创建一个新的地址,数值相同但是对num不影响

num=['曹操','赵云','刘备','小乔']
num1=num.copy()
del num1[-1]
print(num)['曹操', '赵云', '刘备', '小乔']
print(num1)['曹操', '赵云', '刘备']
"""
"""

7.列表.sort()->建列表中的元素从小到大排序

功能:(直接修改列表元素的顺序,不产生新的列表)
类型必须是一样的,不同类型的数据不能比较大小
列表.sort(reverse=True)==列表.sort();列表.reverse()
列表从大到小排序
scores=[11,12,8,9,10,1,2,]
scores.sort()
print(scores)
"""
"""

8.排序函数:sorted(序列)->

不修改原序列,排序号产生一个新的列表(从小到大升序)
sorted(序列,reverse=True)->不修改原序列,排序号产生一个新的列表(从大到大升序)
reverse(序列) - 将序列中的元素倒叙,产生一个新的序列对应的迭代器,为迭代器类型数据
scores=[11,12,8,9,10,1,2,]
new_scores=sorted(scores)
print(scores)

三、元组

1.元组(tuple)

元组就是不可变列表
元祖是容器性数据类型,将()作为容器的标志,里面多个元素用逗号隔开:
(元素1,元素3,元素3,....)
元组不可变--(元祖中元素的值。元素的个数,元素的排序不可变)
但是元组有序的(支持下标操作)
元素可以是任何类型数据

2.查

和列表一样的操作

1)获取元素

列表获取元素的操作元祖都支持

2)相关运算

tuple(数据) - 将数据转换成元组(数据必须是序列)

3.元组特有或使用频率偏高的操作

1)单个元素的元组:(元素,)

list1=(10,)
print(list1,type(list1))

2)单独使用元祖的值,()小括号可以省略

tuple2= 10, 20, 30
print(tuple.type(tuple2)

3)可以通过让变量的个数和元组中元素的个数保持一致来分别获取元组中的元素

变量1,变量2,变量3,...=元组

4)同时声明多个变量获取元祖中的元素的时候,可以让变量的个数可以比元组中的个数少

多个变量中的某一个变量的前面必须加(只有一个有);带的变量可以获取不带*的变量获取完剩下的部分

四、数字类型

python中和数字相关的类型:
整型(int)、浮点型(float)、布尔(bool)、复数(complex)

1、整型(int) - 所有整数对应的类型(python2.x整型除了int还有long)

支持2进制、8进制、16进制的表示方式
int(数据) ->将制定的数据转换成整数

1)所有的浮点数和布尔都可以转换成整型
2)本身是整数数字的字符串可以转换成整型

2、浮点型(float)所有带小数点的数对应的类型;支持科学计数法:3e4==310*4

1)所有的整数和布尔都可以转换成浮点数

print(float(100))==100.0

2)本身是数字的字符串可以转换成浮点数

3、布尔(bool)- 只有True和False;True本质就是1,False的本质就是0

bool(数据)-将制定数据转换成布尔值;
所有的数据的都能转换成布尔,所有为0为空的值都转换成false,其他的都是True
布尔所有为空值得表达方式,表达结果为False:
print(bool(0),bool(0,0),bool(''),bool([]),bool(()),bool(None))

print(True==1)#True
print(True+1)#2
print(False*3)#0

4、复数(complex) - 由实部和虚部组成的数就是复数,实部+虚部j;python直接支持复数运算

注意:如果虚部是1,这个1不能省

5、数学模块

import math 数学模块-提供数学相关的方法和数据
import cmath 和复数相关的数学模块
求绝对值:math.fabs(-20)

你可能感兴趣的:(day 6 学习总结)