python_Day04||元组&字符串

1.元组tuple

「元组」定义语法为: (元素1, 元素2, …, 元素n)
注意是圆括号
(1)创建和访问一个元组
Python 的元组与列表类似,不同之处在于tuple被创建后就不能对其进行修改,类似字符串

t1 = (1, 10.31, 'python')
print(t1, type(t1))
# (1, 10.31, 'python') <class 'tuple'>

ps:元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用

temp = (1)
print(type(temp)) # <class 'int'>
temp = (1,)
print(type(temp)) # <class 'tuple'>
temp = 2, 3, 4, 5
print(type(temp)) # <class 'tuple'>
print(8 * (8)) # 64
print(8 * (8,)) # (8, 8, 8, 8, 8, 8, 8, 8)

创建二维元组

tuple2=(1,2,3),(4,5,6)
print(tuple2)
#((1, 2, 3), (4, 5, 6))

索引 (indexing):获取单个元素
切片 (slicing):获取一组元素

#索引
print(tuple2[0][2])
#3
#切片
print(tuple2[0][0:2])
#(1,2)

(2)更新和删除一个元组

t1=(1,2,3,[4,5,6])
t1[3][0] = 5
print(t1)
#(1, 2, 3, [5, 5, 6])

(3)元组相关的操作符

  1. 比较操作符
  2. 逻辑操作符
  3. 连接操作符 +
  4. 重复操作符 *
  5. 成员关系操作符 in 、 not in

(4)内置方法
元组大小和内容都不可更改,因此只有 count 和 index 两种方法
count():可记录元素出现几次
index():找到元素在该元组的下标

t=("i","love","python","i")
print(t.count('i'))#出现了2次
print(t.index('python'))#python下标为2

(5)解压元组
解压(unpack)一维元组(有几个元素左边括号定义几个变量)

t=("i","love","python")
(a,b,c)=t
print(a,b,c)
#i love python

解压二维元组(按照元组里的元组结构来定义变量)

t=(1,2,(3,4,5))
(a,b,(c,d,e))=t
print(a,b,c,d,e)
#1 2 3 4 5

如果你只想要元组其中几个元素,用通配符「*」,然后可以把多个元素丢给rest变量

t = 1, 2, 3, 4, 5
a, b, *rest, c = t
print(a, b, c) # 1 2 5
print(rest) # [3, 4]

如果你根本不在乎 rest 变量,那么就用通配符「*」加上下划线「_」。

t=(1,2,3,4,5)
a,b,*_=t
print(a,b)
#1,2

**

2.字符串

**
(1)字符串的定义

str1='i love python'
print(type(str1))#<class 'str'>
print(5 + 8)#13
print('5' + '8')#58

如果字符串中需要出现单引号或双引号,可以使用转义符号 \ 对字符串中的符号进行转义

print('let\'s go') # let's go

python中常用的转义符号
\ 反斜杠符号
\’ 单引号
\\" 双引号
\n 换行
\t 横向制表符(TAB)
\r 回车

(2)字符串的切片与连接
ps:类似于元组具有不可修改性
ps:索引值可正可负,正索引从 0 开始,从左往右;负索引从 -1 开始,从右往左。使用负数索引时,会从最后一个元素
开始计数。最后一个元素的位置编号是 -1。

切片语法[start:end:step]
(不包括end位置,若end位置不写,默认到最后,同理,若start位置不写,默认到最前面)

str1='python'
print(str1[:2])#py
print(str1[1:])#ython
print(str1[-5:-1])#ytho

(3)字符串常用的内置方法

  • capitalize() 将字符串的第一个字符转换为大写。
  • lower() 转换字符串中所有大写字符为小写。
  • upper() 转换字符串中的小写字母为大写。
  • swapcase() 将字符串中大写转换为小写,小写转换为大写
  • count(str, beg= 0,end=len(string)) 返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定
    范围内 str 出现的次数。
  • endswith(suffix, beg=0, end=len(string)) 检查字符串是否以指定子字符串 suffix 结束,如果是,返回True,否则返回 False。如果 beg 和 end 指定值,则在指定范围内检查。
  • startswith(substr, beg=0,end=len(string)) 检查字符串是否以指定子字符串 substr 开头,如果是,返回True,否则返回 False。如果 beg 和 end 指定值,则在指定范围内检查。
  • isnumeric() 如果字符串中只包含数字字符,则返回 True,否则返回 False。
  • ljust(width[, fillchar]) 返回一个原字符串左对齐,并使用 fillchar (默认空格)填充至长度 width 的新字符串。
  • rjust(width[, fillchar]) 返回一个原字符串右对齐,并使用 fillchar (默认空格)填充至长度 width 的新字符串
str4 = '1101'
print(str4.ljust(8, '0')) # 11010000
print(str4.rjust(8, '0')) # 00001101
  • lstrip([chars]) 截掉字符串左边的空格或指定字符。

  • rstrip([chars]) 删除字符串末尾的空格或指定字符

  • strip([chars]) 在字符串上执行 lstrip() 和 rstrip() 。即同时执行lstrip()和rstrip()

  • partition(sub) 找到子字符串sub,把字符串分为一个三元组 (pre_sub,sub,fol_sub) ,如果字符串中不包含sub则返回 (‘原字符串’,’’,’’) 。

  • rpartition(sub) 类似于 partition() 方法,不过是从右边开始查找

  • replace(old, new [, max]) 把 将字符串中的 old 替换成 new ,如果 max 指定,则替换不超过 max 次

  • split()字符串的切割。my_str.split(sub_str,count).
    sub_str:按照什么内容切割字符串,默认是空白字符,空格,tab键。Count:切割几次,默认是全部切割。返回值:列表[]

  • splitlines([keepends]) 按照行(’\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为False,不包含换行符,如果为 True,则保留换行符。

  • maketrans(intab, outtab) 创建字符映射的转换表,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。

  • translate(table, deletechars="") 根据参数 table 给出的表,转换字符串的字符,要过滤掉的字符放到 deletechars 参数中。

(4)字符串格式化
format()格式化参数

#位置传参
str="{0} love {1}".format('i','python')
print(str)
#i love python
#关键字传参
str1="{a} love {b}".format(a='i',b='python')
print(str1)
#i love python

注意:位置参数要在关键参数前面

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值