Python入门     

DAY 05

本篇文章主要介绍字符串类型及内置方法,列表类型及内置方法

1.字符串类型及内置方法

(1)字符串定义
      1.字符串中的字符是有序的
         可以通过索引来获取字符
         索引可以是正向索引和反向索引
         正向就是从左往右取 从0开始 依次递增
         反向就是从右往左 最后一个索引-1 依次递减
         你存储的时候顺序是什么样,取出来还是什么样
      2.字符串是不可变的
      3.只能存储单个数据

(2)常用操作+内置的方法
        1.     取出单个字符 通过索引
        索引可以是正向索引和反向索引
        正向就是从左往右取 从0开始 依次递增
        反向就是从右往左 最后一个索引-1 依次递减
        最大索引值是长度-1

# 取出单个字符 name = "yyh" print(name[2]) print(name[-1])

 

        2.     获取字符串的长度
        len("要计算的字符串")

#输出字符串长度 name='Python' print(len(name))

        3.     切片
        将字符串切分为子字符串
        语法:变量名[开始索引:结束索引 | 步长]
        步长指的是每一次移动一个位置   默认为1
        注意 切片时切出来的子字符串内容不包含结束位置
        [:]冒号两边都是可选的 如果都不写那就直接给你原始内容
        [:5]表示从第一个开始取到第五个
        [5:]表示从第五开始取到最后
        步长为2时表示 隔一个取一个
        步长为3时表示 隔两个取一个  以此类推
        切片时索引也可以使用负数
        步长为正数时从左往右切
        步长为负数时从右往左切

# 切片 text = "hello python" # 从text中获取hello t1 = text[0:5] print(t1)

 

(3)基本操作

# msg = "hello i am yyh" # # 翻转这个字符串 # print(msg[-1::-1]) # in 判断一个字符串是否出现在另一个字符串中 # not in 判断一个字符串是否没有出现在另一个字符串中 # msg = "hello 老男孩" # print("he" in msg) # strip 取出字符串两边的空格 # lstrip 取出字符串左边的空格 # rstrip 取出字符串右边的空格 # 可以添加参数 指定要去除的字符串 # 切割字符串 会生成一个列表 # split 第一个参数表示用什么作为分割符 # 第二个参数表示切几次 # rsplit 从右往左切 # 没有参数则代表使用空格作为分隔符 # msg = "java,python,c,c++ruby" # print(msg.split(",",2)) # print(msg.rsplit(",",1)) # print(msg.split()) # 字符串替换 replace # 参数一旧的内容 # 参数二新的内容 # msg = "i love c language" # # 将c 替换为python # msg = msg.replace("c", "python") # print(msg)

 

(5)了解操作

# 大小写转换 msg = "i love c LANGUAGE" # 全大写 print(msg.upper()) #是否全大写 print(msg.isupper()) # 全小写 print(msg.lower()) #是否全大写 print(msg.islower()) # 单词首字母大写 print(msg.title()) # 是否单词首字母大写 print(msg.istitle()) # 首字母大写 print(msg.capitalize()) # 交换大小写 print(msg.swapcase()) # starts 字符串是不是以某个字符串开头 # ends 字符串是不是以某个字符串结尾 # print("千里之外.mp3".endswith(".mp3")) # print("http://www.baidu.com".startswith("https")) # 字符串的链接 msg = "java,python,c,c++,ruby" list1 = msg.split(",") print(list1) # 将逗号加入到类表中的每一个元素之间 生成一个新的字符串 newmsg = ",".join(list1) print(newmsg) # format 格式化字符串 # {} 根据占位符来进行替换 # {index} 根据指定的索引进行替换 # {name} 根据指定的名字进行替换 # 例如: “ my name is {} age is {} ”.format(参数1....,参数n) print("my name is %s age is %s" % ("yyh","20")) print("my name is {name} age is {age}".format(name="yyh",age="20")) # 查找 # find 查找一个字符串出现在另一个字符串中的位置 如果没有返回-1 # rfind 从右往左查找一个字符串出现在另一个字符串中的位置 如果没有返回-1 # index 查找一个字符串出现在另一个字符串中的位置 如果没有直接报错 # rindex从右往左查找一个字符串出现在另一个字符串中的位置 如果没有报错 # count 查找一个字符串出现在另一个字符串中的次数 # 填充 用在打印的时候可以对齐 # center 在内容左右添加相同长度的字符 使内容居中 # rjust 在右边添加符号 使其达到指定的长度 # ljust 在左边添加符号 使其达到指定的长度 # zfill 在左边添加0 使其达到指定的长度 print("hi".center(10,"*")) print("hello".ljust(10,"*")) print("byebye".rjust(10,"*")) print("byebye".zfill(10))

 

2.列表类型及内置方法

1.列表

      基本使用
      用途:存放多个值,可以根据索引存取值

2.定义方式:在[]内用逗号分割开多个任意类型的值
 

l=['egon','lxx','yxx'] # l=list(['egon','lxx','yxx']) # l1=list('hello') #list就相当于调用了一个for循环依次取出'hello'的值放入列表 # print(l1) # l2=list({'x':1,'y':2,'z':3}) # print(l2)

3 常用操作+内置的方法
(1)按索引存取值(正向存取+反向存取):即可存也可以取
 

l=['python','lxx','yxx'] # print(l[0]) # l[0]='PY' # 只能根据已经存在的索引去改值 # print(l) # print(l[-1]) # print(l[3]) # l[3]='xxxxxxxx' #如果索引不存在直接报错

(2)切片(顾头不顾尾,步长)

#l=['python','xxx','yyy',444,555,66666] # print(l[0:5]) # ['python', 'xxx', 'yyy', 444, 555] # print(l[0:5:2]) # ['python', 'yyy', 555] # print(l[::-1]) # [66666, 555, 444, 'yyy', 'xxx', 'python']

(3)长度

# l=['python','lxx','yxx',444,555,66666,[1,2,3]] # print(len(l)) # 7

(4)成员运算in和not in

# l=['python','lxx','yxx',444,555,66666,[1,2,3]] # print('lxx' in l) # True # print(444 in l) # True

(5)追加

# l=['python','lxx','yxx'] # l.append(44444) # l.append(55555) # print(l) #['python', 'lxx', 'yxx', 44444, 55555]

(6)往指定索引前插入值

# l=['python','lxx','yxx'] # l.insert(0,11111) # print(l) # [11111, 'python', 'lxx', 'yxx' # l.insert(2,2222222) # print(l)] # [11111, 'python', 2222222, 'lxx', 'yxx']

(7)删除
# l=['python','lxx','yxx']

#单纯的删除值:
方式1:

del l[1] # 通用的 print(l)

方式2:

res=l.remove('lxx') # 指定要删除的值,返回是None print(l,res)

从列表中拿走一个值

res=l.pop(-1) # 按照索引删除值(默认是从末尾删除),返回删除的那个值 print(l,res)

#8、循环

l=['egon','lxx','yxx'] for item in l: print(item)

需要掌握的操作

l=['egon','egon','lxx','yxx',444,555,66666] print(l.count('egon')) print(l.index('egon')) print(l.index('yxx',0,1)) l.clear()items=['a','b','c'] items='hello' for item in items:     l.append(item) l.extend(items) print(l)l=['egon','egon','lxx','yxx',444,555,66666] l.reverse() print(l)nums=[3,-1,9,8,11] nums.sort(reverse=True) print(nums)items=[1,'a','b',2] items.sort()

以上为本次学习的内容,如有疑问欢迎指出和探讨。