02.Python基础之序列

 序列:分为可变序列(如列表)与不可变序列(如元组,字符串)

4.列表:

4.1  列表基本操作:

list=[1,2,3,4,5,6]
##查
print(list[1])  #输出2
print(len(list)-1)  #输出5
print(list[-1]) #输出6
print(list[3:5])  #输出4 5
print(list[3:])   #输出4 5 6
print(list[:3])   #输出1 2 3
print(list[:])   #输出全部
print(list[0:5:2])  #输出1 3 5
print(list[::-2])   #输出6 4 2
print(list.count(1))  #输出元素1的个数
print(list.index(1))  #查询元素1在哪个位置
print(list.index(1,3,5)) #从4到6这三个位置查找1

##解包
a,b,c,d,e,f=tuples
print(a,b,c,d,e,f)  # 1,2,3,4,5,6


##增
list.append(7)        #在末尾添加7
list[len(list):]=[8,9,10]  #在末尾添加8 9 10
list.insert(len(list),11)  #在末尾添加11
list.insert(0,-1)         #在第0位添加-1
y =x.copy()              #浅拷贝

##改
list[3:] =1     #将第4位及以后的数字都替换为1
list[list.index(1)] =2  #把列表里面的第一个数字1改成2
list.sort()   #从小到大排序
list.reverse()  #全部反转(达成从大到小排序)


##删
list.remove(7)  #把数字7去除
list.pop(2)  #把第三位去除
list.clear() #删除全部

4.2 利用列表生成二维数组:
 

#列表的嵌套
matrix=[[1,2,3], [4,5,6],[7,8,9]]  #二维列表
#遍历输出:使用嵌套循环
for i in matrix:
     for j in i:
         print(j,end=' ') #end代表不换行
     print()  #每遍历3个就换一行

#查询其中某一个元素:
print(matrix[1][1])  #输出第二行第二个的元素

4.3 浅拷贝与深拷贝

import copy

x1=[[1,2,3],[4,5,6]]
x2=[[1,2,3],[4,5,6]]

##浅拷贝:拷贝的是引用
y1=copy.copy(x1)  #利用copy模块中的浅拷贝方法
x1[0][0] =2
print(x1)  #[[2, 2, 3], [4, 5, 6]]
print(y1)  #[[2, 2, 3], [4, 5, 6]]
##深拷贝:拷贝的是值
y2= copy.deepcopy(x2)
x2[0][0]=2
print(x2)  #[[2, 2, 3], [4, 5, 6]]
print(y2)  #[[1, 2, 3], [4, 5, 6]]

4.4列表推导式

List03 =[i*2 for i in range(6) if i%2 ==0]  #[0, 4, 8]

##二维
matrix = [[1,2,3],[4,5,6],[7,8,9]]
col1=[row[1] for row in matrix]  #遍历每一行,把第二个元素取出 [2, 5, 8]
diag = [matrix[i][i] for i in range(len(matrix))]  #获取对角线元素

flatten = [col for row in matrix for col in row] #利用列表推导式实现循环的嵌套:
print(flatten)  #将二维化为一维[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

ps1.元组:列表可修改,而元组一旦创建就不可修改

tuples =(0,1,"fish")
tuples[1]=0 #会报错,因为元组内容不可修改

ps2.元组中的内容虽然不可变,但如果元组中的元素指向一个可变的列表,那么依然可以修改其中的内容

s=[1,2,3]
t=[4,5,6]
tup=(s,t)
tup[0][0]=0
print(tup) #([0, 2, 3], [4, 5, 6])

5.字符串

5.1大小写换来换去

x="i Love Fishc"

print(x.capitalize())#将字符串首字母变成大写,其他字母变成小写 I love fishc
print(x.casefold())  #所有字母都为小写   i love fishc
print(x.title())  #每个单词首字母大写   I Love Fishc
print(x.swapcase()) #大小写翻转   I lOVE fISHC
print(x.upper())  #所有字母变成大写 I LOVE FISHC
print(x.lower())  #所有字母变成小写  i love fishc

5.2左中右对齐

y="123"
print(y.ljust(5,"0"))  #一共5位,左对齐,右边填充0
print(y.rjust(5,"0"))  #右对齐
print(y.center(5,"0")) #中间对齐y="123"
print(y.ljust(5,"0"))  #一共5位,左对齐,右边填充0
print(y.rjust(5,"0"))  #右对齐
print(y.center(5,"0")) #中间对齐

5.3查找与替换

##查找
z="abcdabc"
print(z.count("a"))  #输出a的个数2
print(z.find("b"))  #找到第一次b出现的位置1
print(z.rfind("b")) #从右往左寻找5
##替换
print(z.replace("a","b"))  #把其中的a都替换成b(bbcdbbc)

table = str.maketrans("abcd","ABCD")
print(z.translate(table))  #一次性替换多个字符(ABCDABC)

5.4判断

x="abcdefg"
print(x.startswith("a")) #判断是否从a开始
print(x.endswith("g"))  #判断是否到g结束
print(x.startswith("b"),1) #从第二位开始算
print(x.istitle())  #判断是否所有单词以大写开头
print(x.isalpha())  #判断所有的元素都为字母
print(x.isidentifier()) #判断是否为标识符(字母数字下划线 且数字不能打头)

5.5截取

x="  abc  "
print(x.lstrip())  #去掉左边空格
print(x.rstrip())  #去掉右边空格
print(x.strip())  #去掉所有空格

y="a,b,c"
print(y.split(",")) #按逗号进行分割

5.6格式化字符串

print("1+2={},2的平方是{}".format(1+2,2*2)) #1+2=3,2的平方是4
print("{1}日当午,汗滴禾下{0}".format("土","锄禾")) #锄禾日当午,汗滴禾下土
print("我叫{name},我爱{0}".format("python",name="fishc")) #我叫fishc,我爱python

ps.一些其他函数:

1.判断是否为同一对象

   01.根据id值

##对于列表
s=[1,2,3]
print(id(s))
s*=2
print(id(s))   #两次输出的id相同

##对于元组
s2=(1,2,3)
print(id(s))
s*=2
print(id(s))  #两次输出的id不同

02. 利用is()或is not() 函数

x="fishC"
y="fishC"
print(x is y) #true

x1=[1,2,3]
y1=[1,2,3]
print(x1 is y1) #false

2.删除操作

##删除操作
x=[1,2,3,4,5]
del x[2:4]  ## x[2:4] =[]
print(x)  #输出[1 2 5]

3.列表,元组,字符串的相互转换

list =[1,2,3]
print(tuple(list)) #输出元组(1, 2, 3)
##其他的转换也同理

4.min()与max()与sum()

s=[1,2,3]
print(min(s))  #输出1
print(sum(s))  #输出6
str="abcde"
print(min(str)) #输出a(按照ascll码值)

5.排序函数

s=[0,2,1,3]
print(sorted(s))  #正序输出
print(sorted(s,reverse=True))  #倒叙输出
t=["a","ab","abc","abcd"]
print(sorted(t,key=len))  #按照长度输出
print( list(reversed(t)) )  #倒叙输出

6.其他函数

#enumerate():将迭代对象转化成从0开始的二元数组
seasons=["spring","summer","autumn","winter"]
print( list(enumerate(seasons)) )
#输出[(0, 'spring'), (1, 'summer'), (2, 'autumn'), (3, 'winter')]

##map():对提供的对象进行加工
mapped=map(ord,"fishC")  ##ord指的是按照ascll码输出
print(list(mapped))

mapped01 = map(max,[0,1,1],[1,2,3],[3,4,5])  #max指的是输出每一列最大的数
print(list(mapped01))

##filter函数
print( list( filter(str.islower,"fishC") ) )  #把其中的小写过滤出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值