python 求函数最大值_Python入门 3——序列及相关操作

9f1c59bb7023100dfe595763f05f80f7.png

一、 什么是序列

序列是Python最基本的数据结构,“X=1”指的是X是一个变量,值为1;“Y=[1,2,3]”指的是Y是一个序列(可变序列列表);每个元素被分配一个序号,即元素的位置,也被称为索引。

序列可分为可变序列,不可变序列,可变序列:列表 List,不可变序列:元祖 Tuple、字符串 str。

二、序列基础操作

1、判断是否属于序列

lst=[1,2,3,4,5]
a,b,c=1,2.0,'hello'
print(a in lst)
print(b in lst)
print(c in lst)

ef0ca91da4830c664bf97dee50552866.png

注意:a和b虽然字符类型不一样,但是数值本身是属于lst的。

2、序列链接与重复

lst1=[1,2,3]
lst2=['a','b']
print(lst1+lst2)
print(lst2+lst1)

11f5783df4bdb3e37f96a184055fd41a.png

注意:序列相加是有顺序的。

lst1=[1,2,3]
lst2=['a','b']
print(lst1*3)
print(lst2*2)

8e0aa5e19c20276c23c854465674912a.png

3、下标索引

lst1=[1,2,3,4,5,6]
print(lst1)
print(lst1[0],lst1[2],lst1[3])
print(lst1[-1],lst1[-3])

995a65774722b66c04bb961c22013ea0.png

注意:下标0表示第一个数,下标1表示第二个数,以此类推,-1表示倒数第一个数,-2表示倒数第二个数,以此类推。

4、切片

我们可以将索引理解为指向序列中的一个元素,而切片则是指向序列中的多个元素

lst1=[1,2,3,4,5,6]
print(lst1[0:2])

233d5e36d90f671a2da42f564d628c79.png

注意:切片可以理解为序列中的一个区间,而且是一个左闭右开的区间,所以上述案例中并没有包含序列中的第三个元素。

lst1=[1,2,3,4,5,6]
print(lst1[:5])

e742112adff2518ab36510cfb2b4b4cf.png

5、步长

lst1=[1,2,3,4,5,6]
print(lst1[1:5:2])

703d61fc2c6ffd33f31b3e7c7382fd29.png

上述案例可以理解为从第2个元素到第5个元素提取,然后每隔2步提取一个值。

lst1=[1,2,3,4,5,6]
print(lst1[1:5:2])
print(lst1[0::2])

fa5c68cece1b5a89a36458e9dfe8e623.png

6、序列的基本内置全局函数

在这一小节中我将列举一些比较常用的全局函数:

lst1=[1,1,2,3,4,5,6]
print(len(lst1)) # 求长度的函数
print(max(lst1),min(lst1),sum(lst1)) # 最大值,最小值,求和
print(lst1.index(1)) # 求索引数值,即在序列中数值为1的值的索引是多少,这是个方法
print(lst1.count(1)) # 求函数中数值1一共出现了多少次,这是个方法

914c3b2da3b2b920a7b0dd92a43d3768.png

注意:index会返回第一个值的索引。

三、列表List常用操作

列表中的元素可以是数字、字符串、列表、字典:

lst=[1,2,3,'abc',[1,2,3],[1,['旭鹏',2,3],2]]
print(lst)

3239ec4810061a8682bdb6b87532942b.png

如果我们要单独提取这个列表中的“旭鹏”二字,可以如下操作:

lst=[1,2,3,'abc',[1,2,3],[1,['旭鹏',2,3],2]]
print(lst[-1][1][0])

先提取最后一个元素即-1,然后再提取第二个元素即1,最后再提取第一个元素即0:

01018dccb88195acb51dfb5741edc671.png

1、案例讲解

创建一个列表,包含三天的订单量100,90,80:

orders=[100,90,80]

创建一个列表name=['Amazon','Alibaba','Ebay'],增加'Wish'的名字上去:

name=['Amazon','Alibaba','Ebay']
print(name+['Wish'])
name.append('Wish')
print(name)

b3a09ba061613e143561e8a093c15b35.png

2、列表与生成器

print(range(5),type(range(5)))
lst=list(range(5))
print(lst)

451a8b5223dc78943868f489ceaf6faf.png

range()本身是一个生成器,指向了一个范围,比如range(5)代表指向了0,1,2,3,4这几个值,range(2,5)代表指向了2,3,4这几个值,需要注意的是这里仅仅只是指向不是使用,range(0,10,2)代表指向了0,2,4,6,8这几个值,最后的2代表的是步长。

注意:range()生成的都是整数。

3、range添加单个元素

lst=list(range(10))
print(lst+[1,2,3])

a5cf39b4e37530302227c9d56fbadc3e.png
lst=list(range(10))
lst.append('a')
print(lst)

d0dc8bf5fd66de08f8e27196d34cf323.png

注意,append会改变原始的数值。

4、range添加多个元素

a=[1,2,3]
b=[3,4,5]
print(a)
a.extend(b)
print(a)
a.append(b)
print(a)

18d6f7fbd9cce806f69ca45e266ffbd9.png

5、删除元素

lst=list(range(10))
print(lst)
lst.remove(5)# 移除值为5的元素
print(lst)

del lst[0] # 删除第一个值
print(lst)

del lst[2:4]
print(lst) # 删除第三和第四个值

lst.clear()
print(lst) # 清空所有数值

1311aae22e72dbb946fe4d27341aa61b.png

注意:元祖不可单独删除内部元素(不可变性),但是可以用del语句来删除整个元祖。

6、插入元素

lst=[1,2,3]
lst.insert(0,'a') # 在第一个元素后面插入一个a
print(lst)

4426d0f94a9a24bede25953481a953cc.png

7、复制

x=list(range(10))
y=x.copy()
z=x
print(x)
print(y)
print(z)
x[2]=88
print(x)
print(y)
print(z)

b0cfab4aef6fc959c868b0f3d6932283.png

注意:x与z中的元素都发生了改变,但是y的元素没有发生改变,这是因为copy()形成了一个新的列表。

8、排序

用sort()方法排序本身是将列表中的数字由小到大排列,字母由英文字母排列:

lst1=[1,3,11,2,89]
lst2=['z','b','a']
lst1.sort()
lst2.sort()
print(lst1,lst2)

925ee57eb01c908b484947dd6b4e4299.png

用sorted()函数排序本身是将列表中的数字由小到大排列,字母由英文字母排列,它与sort()方法不同的地方是它会排序并复制一个新的列表:

lst1=[1,20,8,3,66,12]
lst3=sorted(lst1)
print(lst1,lst3)

5ec22f240aeea28691c5ae2ce8143410.png

四、文本序列str的常用基本操作

1、字符串引号

字符串中加引号可以单引号中镶嵌双引号,也可以双引号中镶嵌单引号:

a='abc'
b='bcd'
c='abd"bcd"' 
print(a)
print(b)
print(c)

3cecd6eacaab7fa7cdf730daba7d625a.png

2、转义字符

转义字符可以用来表示双引号或者换行:

print('"')
print('anb')

d75588d329bd88b7e8faf934f7117b93.png

于此同时也可以用来表示斜杠线,或者用来表示目录:

print('')
print("C:UsersypfDownloads文档出书文档亚马逊跨境电商运营实战")
print(r"C:UsersypfDownloads文档出书文档亚马逊跨境电商运营实战")
print("C:/Users/ypf/Downloads/文档/出书文档/亚马逊跨境电商运营实战")

6bb4d6705fc32a796306eda577f3d4a6.png

3、字符串常用功能

字符串的修改更换:

st='i am xupeng'
st2=st.replace('xupeng','Amazon')
print(st)
print(st2)

st='hahaha'
st2=st.replace('ha','he',2) # 只改两个ha
print(st2)

3f3850ef323b0b6ed8ef9620c5f21778.png

字符串的拆分:

st='ypf111,123.11,11'
lst=st.split(',') # 用split来分隔
print(lst)

7fdaf94eaf9d9183c06571f5bd4d3bdc.png

字符串的连接:

lst='Amazon'
m='-'
st2=m.join(lst)
print(st2)
# 连接字符串

f31205732531bd4420106261e5fd5030.png

字符串的判断:

st='Amazon Ebay Wish Alibaba'
print(st.startswith('A'),st.endswith('a'))
# 判断是否以A开头 与 判断是否以a结尾

b68df1a30ea16ad53d3f4008c251a7e5.png

字符串的大小写变化:

st="amazon Wish"
print(st.upper()) # 全部大写
print(st.lower()) # 全部小写
print(st.swapcase()) # 大小写互换
print(st.capitalize()) # 首字母大写

ca7768c637c728115aa58b29b75c7c52.png

数字、字母与空格的判断:

st='123456'
print(st.isnumeric())
# 如果string只包含数字则退回True否则退回False
st='XUPENG'
print(st.isalpha())
# 如果string至少有一个字符并且所有字符都是字母则返回True,否则为False
st='xupeng '
print(st.rstrip())
# 剔除字符末尾的空格

ed90962ad4a0aef290e6eb0e76031578.png

4、格式化字符

name="旭鹏"
st="关注 %s 知乎live 获得更多运营知识"%name
print(st)
# %s表示我们这里要插入一个变量(字符串),%name代表这里我们插入name

a8556b7095574855804ec71a18cdc95b.png

关于百分号%之后可以是s,i或者f,s指的就是字符串,i指的就是整数,f指的就是浮点型:

x=4
y='xupeng'
z=1.1
print('this is %i'%x)
print('this is %s'%y)
print('this is %f'%z)

1a1b13422d1f4277c1a5181f39e11883.png

如果有多个格式化字符:

print('学习 %s 与 %s'%('电商运营','编程技巧'))

26c72f8c350f85b74e9c57115fb33229.png

科学记数法:

m=123.123123123
print('this is %.2e'%m)
print('this is %.4E'%m)

314c24b4a08841b28085cf3de51a1580.png

format的格式化方法:

print('旭鹏的知乎live怎么样{}'.format(',5.0满分live'))
st='早啊~!{}'
print(st.format('早啊老师'))

c922d17a78536df4556ac3302ae3cd1d.png
print('{}{}{}'.format('a','b','c'),'n',
     '{0}{1}{1}{0}'.format('a','b','c'),'n')
print('{}{}{}'.format('a','b','c'))
#{}与{0}的区别:都是占位符,后者有了明确的指定

d293ccab55cf2fc81597532e8da1287a.png
print('我的工作是{work}'.format(work='电商运营'))
#也可以用变量来指示

1761c9bade0bc0d5c9bdde98571e4daf.png
# 百分号的话要写2个##
print('今年业绩增长了%.2f %%'%25.88)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值