Python基础数据类型二(第五讲)

在这里插入图片描述

1.字符串

1.字符串的常见操作

  • S.find(sub) --> 返回该元素最小的索引
  • S.index(sub) --> 返回该元素最小的索引
  • S.replace(old, new[, count]) --> 替换
  • S.split(sep=None) --> 以sep来分割字符串,并返回列表。sep默认为None,分割默认为空格
  • S.startswith(prefix[, start[, end]]) --> 判断字符串是否以前缀开始,返回为bool值。
  • S.endswith(suffix[, start[, end]]) --> 判断字符串是否以尾缀结束,返回为bool值。
  • S.lower() --> 将字符串全部转为小写
  • S.upper() --> 将字符串全部转为大写
  • S.strip([chars]) --> 默认去掉字符串左右的空格
  • S.isalpha() --> 判断字符串是否全为字母,返回的是bool值
  • S.isdigit() --> 判断字符串是否全为数字,返回的是bool值
  • S.isalnum() --> 判断字符串是否全为数字或者字母,不存在特殊字符,返回的是bool值
  • S.join(iterable) --> 将序列中的元素以指定的字符连接生成一个新的字符串
s1 = 'hello word'
print(s1.find('l'))  # 2;打印该索引最小的输出;从左往右;rfind:从右往左;超出范围返回-1
print(s1.rindex('l'))  # 2;打印该索引最小的输出;从左往右;超出范围报错
print(s1.replace('ll', 'aa'))  # heaao word;替换(old, new, count):count默认全部,用来设置替次数;不会改变变量本身

s2 = 'hello everbody yeyeyeye'
print(s2.split(' ')) # ['hello', 'everbody', 'yeyeyeye'];spint:分割;打印类型为列表
print(s2.startswith('h')) # True;判断以什么为开头,返回bool值
print(s2.endswith('e')) #  True;判断以什么为结尾,返回bool值
s3 = 'ACDEFG'
print(s3.lower()) # abcdefg;全部转换为小写
s4 = 'abcdefg'
print(s4.upper()) # ABCDEFG;全部转换为大写
s5 = ' 屿你有关'
print(s5.strip()) # 屿你有关;去掉字符串左右的空格,但是字符串中间的空格保留
s6 = '123456'
print(','.join(s6)) # 1,2,3,4,5,6;将序列中的元素以指定的字符连接生成一个新的字符串

2.字节(bytes)

1.字节介绍(掌握)

    在 Python3 以后,字符串 bytes 类型彻底分开了。字符串 是以 字符 为单位进行处
理的,bytes 类型是以 字节 为单位处理的。
    bytes 数据类型在所有的操作和使用甚至内置方法上和字符串数据类型基本一样,也是 不可变的序列对象
    Python3 中,bytes 通常用于网络数据传输、二进制图片和文件的保存等等。

2.字节创建(掌握)

    可以通过调用 bytes() 生成 bytes 实例,其值形式为 b’xxxxx’ ,对于同一个字符串如果采用不同的编码方式生成 bytes 对象,就会形成不同的值。

# 创建字节:b''
bt_1 = b'hello word'
# 创建字节:bytes();bytes(string, encoding[, errors]) -> bytes
bytes('hello', encoding = 'utf8') # utf8:万国码

3.字节与字符串转换

    那在实际应用中,我们通常会将 bytes 类型 与 str 类型 做转换。

bt_1 = b'word'
# 字节 转 字符串 ; --> 解码
print(bt_1.decode())

s1 = 'word'
# 将 字符串 转 字节 : --> 编码
print(s1.encode()) # 字节由 ascii码组成

3.列表

1.列表的介绍(掌握)

    列表是 Python 中最基本也是最常用的数据结构之一,它是一个 bytes 有序可重复的序列。从数据结构角度看,Python 的列表是一个 可变长度 的顺序存储结构,每一个位置存放的都是对象的指针。
    我们可对列表进行 修改、切片、追加、删除、嵌套、迭代、成员判断 等操作。

2.列表创建(掌握)

    创建一个列表,只要把 逗号 分隔的 不同的数据元素 使用 方括号 括起来即可。

li_1 = [1, 2, 3, 4, 5, 6]

除此之外,我们还可以直接通过 list() 来进行创建列表。

print(list('abcdefg'))

    注意:

  • 变量名最好不使用 list
  • 列表里的 元素 可以是 任意类型
  • iterable 表示 可迭代的对象,简单来说就是可以一个一个元素取出来的。比如:str

3.访问(查)列表内的元素(掌握)

    列表 从0开始 为它的每一个元素顺序创建 下标索引,直到 总长度减一 。要访问它的某个元素,以方括号加下标值的方式即可。
    注意:要确保索引不越界,一旦访问的 索引超过范围,会抛出异常。所以,一定要记得最后一个元素的索引是 len(list)-1。
    思考:
    li = [1,2] 是如何取出元素的呢?

li = [1, 2]
print(li[0])
print(li[1])

4.修改列表内的元素(掌握)

    直接 取出元素 进行 重新赋值
    思考:
    li = [‘a’,‘b’,‘c’] 是怎么将 ‘a’ 改为 ‘A’ 的呢?

li = ['a', 'b', 'c', 'd']
li[0] = 'A'
print(li) # ['A', 'b', 'c', 'd']

5.删除列表内的元素(掌握)

    直接 取出元素,再通过 del语句 或者 list.remove() 或者 list.pop() 进行删除

  • del --> del li[idx]
  • list.remove() --> 根据元素删除
  • list.pop() --> 最后一个开始弹出
li = ['a', 'b', 'c', 'd']
del li[0]
print(li) # ['b', 'c', 'd']

li.remove('a')
print(li) # ['b', 'c', 'd']

li.pop()
print(li) # ['a', 'b', 'c'];默认从后面删除

6.列表的特殊操作(熟悉)

  • 列表相加
li_1 = [1, 2, 3]
li_2 = [4, 5, 6]
print(li_1 + li_2) # [1, 2, 3, 4, 5, 6]
  • 与整数相乘
li_1 = [1, 2, 3]
print(li_1 * 3) # [1, 2, 3, 1, 2, 3, 1, 2, 3]
  • 成员判断
li_1 = [1, 2, 3]
print(1 in li_1) # True
  • 迭代
li_1 = [1, 2, 3]
for i in li_1:
    print(i) # 1 2 3

7.常用内置函数(熟悉)

  • len() --> 返回长度
li_1 = [1, 2, 3]
print(len(li_1)) # 3
  • max() --> 返回最大值
li_1 = [1, 2, 3]
print(max(li_1)) # 3
  • min() --> 返回最小值
li_1 = [1, 2, 3]
print(min(li_1)) # 1

    小贴士:

  • 字符串与字符之间比较转为 ascii
  • 字符串与整数比较报错
  • 以上方法都是python内置方法

8.列表的排序与反转(熟悉)

  • list.reverse() --> 将列表反转
li = [1, 3, 42, 531, 25, 352, 523, 525, 44]
li.reverse()
print(li) # [44, 525, 523, 352, 25, 531, 42, 3, 1]
  • list.sort(reverse=Fasle) --> 将列表排序;默认升序
li = [1, 3, 42, 531, 25, 352, 523, 525, 44]
li.sort()
print(li)

9.列表的切片(重点掌握)

    slice(start, stop[, step])

  • stary --> 起始位置
  • stop --> 结束位置
  • step --> 步长
        slice思考:
        sliceli = [1,2,3,4,5,6,7] 取 [2,3,4] 以及取出 [2,4,6]
sliceli = [1, 2, 3, 4, 5, 6, 7]
print(sliceli[1:4]) # [2, 3, 4]
print(sliceli[1:6:2]) # [2, 4, 6]

10.字符串常见操作(熟悉)

  • L.append(object) --> 在列表末尾添加新的对象
  • L.count(object) --> 统计某个元素在列表中出现的次数
  • L.extend(iterable) --> 用新列表扩展原来的列表
  • L.index(value) --> 从列表中找出某个值第一个匹配项的索引位置
  • L.insert(index, object)–> 将对象插入列表
  • L.pop([index]) --> 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
  • L.remove(value) --> 移除列表中某个值的第一个匹配项
  • L.reverse() --> 反向列表中元素
  • L.sort(reverse=False) --> 对原列表进行排序
  • L.copy() --> 复制列表
  • L.clear() --> 清空列表
li = [1, 2, 3, 4]
li.append(5)
print(li) # [1, 2, 3, 4, 5]

li_2 = [1, 2, 3, 4, 4, 4, 4, 4, 4]
print( li_2.count(4)) # 6

li_3 = [1, 2, 3, 4]
li_3.extend([123124])
print(li_3) # [1, 2, 3, 4, 123124]

li_4 = [1, 2, 4, 2, 4]
print(li_4.index(2)) # 1

li_5 = [1, 2, 4, 2, 4]
li_5.insert(2, 5)
print(li_5) # [1, 2, 5, 4, 2, 4]

li_6 = [1, 2, 3, 4, 5]
li_6.pop()
print(li_6) # [1, 2, 3, 4]

li_7 = [1, 2, 3, 4, 5, 6]
li_7.remove(3)
print(li_7) # [1, 2, 4, 5, 6]

li_8 = [1, 2, 4, 5, 6]
li_8.reverse()
print(li_8) # [6, 5, 4, 2, 1]

li_9 = [1, 124, 143, 643, 123, 14]
li_9.sort()
print(li_9) # [1, 14, 123, 124, 143, 643]

li_10 = [1, 2, 3, 4]
li_11 = li_10.copy()
print(li_11) # [1, 2, 3, 4]

li_12 = [1, 2, 3, 4]
li_12.clear()
print(li_12) # []

猜你喜欢

转载自blog.csdn.net/weixin_51158247/article/details/112579732