欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python_Day04||元组&字符串

程序员文章站 2022-07-14 23:05:19
...

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

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