一.列表的相关的操作
1列表的运算:
1数学运算:加法,减法,乘法,除法。
1.加法:产生一个新的列表,新的列表中的元素是两个元素的合并。
2.乘法运算:列表中的元素重复N次,产生一个新的列表。
3.比较运算
比较两个列表是否相等。
a.==,比较列表是否相等,这个是位置,类型都是相等的。
b.is 判断两个列表是否相等。
这个主要是判断地址是否相等。
num=[1,23,4]
num2=num
print(num2 is num)
4.in not in 的用法
元素 in 列表 判断列表中是否存在指定的元素。
元素 not in 列表 判断列表中是否存在指定的元素。
5.相关的函数
len(序列)---获取序列的长度(元素的个数)
print(len("hello"))--5
max/min------求最大的值,最小值
注意:最大值,最小值的使用,序列中的所有的元素的类型一致,而且元素本身能够支持比较大小的操作。
如果你不会这种函数的情况下:
x=0
scors=[23,24,45,67]
for i in scors:
if i>x:
x=i
print(x)
用这种方法,你也是可以求出最大值的,最小值也是可以同样的道理来求值。
(6)list(数据),将指定的数据转换成列表,数据必须是序列(所有的序列都是可以转换成列表的)
print(list("hello"))
print(list("12345678967"))
['h', 'e', 'l', 'l', 'o']
['1', '2', '3', '4', '5', '6', '7', '8', '9', '6', '7']
二.列表相关的的方法
1.列表.count(元素)#统计列表中指定的个数
names=["曹操","刘备","赵云","小乔","貂蝉","司马懿","小乔","大乔","张飞","张飞","关羽","张飞","张飞"]
print(names.count("张飞"))
4
2.列表.extend(序列),将这个里面的所有的添加到这个里面。
names=["曹操","刘备","赵云","小乔","貂蝉","司马懿","小乔","大乔","张飞","张飞","关羽","张飞","张飞"]
names.extend("12345")
['曹操', '刘备', '赵云', '小乔', '貂蝉', '司马懿', '小乔', '大乔', '张飞', '张飞', '关羽', '张飞', '张飞', '1', '2', '3', '4', '5']
3.列表.index(元素)--获取指定元素在列表中的下标。
a.如果元素不存在,会报错。
b.多个元素只取第一个的下标。
4.列表.reverse()----将原来的列表倒转过来,不会产生新的,新的用切片。
nums=[1,9,3]
nums.reverse()
print(nums)
[3, 9, 1]
(5).列表.clear()-----清空列表,一般用clear.而不是直接赋值为空。
注意:如果直接为空的效率没有用这个clear的效率高。
(6)列表的复制:
a.列表.copy()复制列表中的元素,产生一个新的列表,将新的内存地址返回,赋值后两个不影响。
b.列表[:]这也是列表的复制,和copy一样都是产生新的两个不影响。
c.直接赋值给赋值一个新的变量,这样是会影响的
7.列表.sort()将列表中的元素从小到大排序,直接修改列表中的顺序。
scores=[89,90,45,56,78,98]#----将元素从小到大排序。
scores.sort()
print(scores)
列表.sort(revers=True),将元素从大到小排序,这句话和socores.sort()在socores.revers()
8.排序函数,sorted(序列) 升序 -----排序的方式不一样:不修改原序列,排序后产生一个新的列表,从小到大的排序。
sorted(序列,revers=True)降序------排序的方式不一样:不修改原序列,排序后产生一个新的列表,从大到小的排序
n=[1,2,3,45,7,89,9]
new_nxiao_da=sorted(n)
new_nda_xiao=sorted(n,reverse=True)
print(new_nda_xiao)
print(new_nxiao_da)
9.revers(序列)----将序列中的元素倒序,产生一个迭代器,迭代器只能用遍历来取值。
n2=reversed("abc")
str2=""
for x in n2:
str2+=x
print(str2)
三.元组
1.元组的概念
元组就是不可变的列表,元组是容器类的数据类型,将()作为容器的标志,里面的元素用逗号隔开。
2.元组是不可变,(不支持增删改操作),支持下表操作,有序性。
元素可以是任何类型的数据,任何类型数据都可以作为元组。
3.查找元素的方法-----和列表一样,元组都是支持的。
4.相关的运算--+,==,!=。is
也支持in 和 not in ,len ,max ,min ,sum,sorted
类型的转换,tuple(数据)---将数据转换成元组,数据必须是序列。
5.元组特有或者使用频率偏高的操作
a.单个数字元素的元组,后面要逗号,不加就是int,字符串要是不加逗号,就是字符串。
b.单独使用的元组的值,()可以省略,---直接多个数据用逗号隔开表示的还是一个元组
tuple=10,20,2
print(tuple,tuple,tuple)这个就是可以省略的,其他的不行、
6.可以通过让变量的的个数和元组中的个数保持一致来分别获取元组中的元素。
变量1,变量2,变量3=元组,多个变量的赋值。
tuple=(121,23,34)
x,y,z=tuple
获取多个元素:同时声明多个变量,获取元组中的元素的时候,可以让变量的个数比这个元组中的少,但是这个时候多个变量中的某一个前面必须加,带的变量可以获取不带*的变量获取完剩下的部分。
tuple=(12,23,34,45,56)
x,*y,z=tuple
这个得到的结果是:x=12,z=56,y=[23,34,45]
四.数字
1. python 中和数字相关,相关的类型,整型(int),浮点数(float),布尔(bool),复数(complex)
1 整型(int)---所有的整数对应的类型(python2.x)整型除了int还有long),支持2进制,8进制,16进制的表示方式
2浮点型(floot)--所有带小数的数对应的类型,支持科学计数法:3e4==310*4.
3.bool,只有True,False,相当1,0,数字可以做的这个都可以的
print(9 & True)
4.复数(complex),由师部和虚部组成的数就是复数,实部+虚部j,python直接支持复数运算
c1=10+2J
C2=15-3J#如果虚部是1,不能沈略1,直接支持复数的乘除的运算
print(c1+C2)
5类型的转换
- int(数据)---将制定的数据转换为整型,所有的浮点数和布尔都可以。布尔就是0,1
字符串能转整型。---字符串去掉引号后必须是整数,12.5 , 12.0都不行必须是12.
2.float()浮点数的转换。将所有的整数转为浮点,就是整数.0 字符串转为浮点,必须是字符串去掉引号,本身就是一个数字。 "2e3",也是可以的,
3.bool()将指定的数据转为布尔值。--所有的数据都能转为布尔值。所有为零为空的值,都转换成false,其他的都是True。
那些是false:
bool(0.0),bool(""),bool([]),bool(()),bool((None)),注意字符串里面只有空格也是True.
list1 = [1,2]
if list1:
print("list 不为空")
if not list1:
print("list 为空")
num = 7
if num & 1:
print("我是可以打印的")
6数学相关的库math提供先关的数学解决方法,和复数相关的操作。
math.fabs()绝对值的方法,结果都是浮点型。
abs(-10)求绝对值,这个是整型