美文网首页
Python_0基础:8.数据类型高级

Python_0基础:8.数据类型高级

作者: liang_820 | 来源:发表于2022-05-27 15:14 被阅读0次

一、字符串高级

字符串的常见操作包括:

  • 获取长度:len len函数可以获取字符串的长度
  • 查找内容:find 查找指定内容在字符串中是否存在,如果存在就返回该内容在字符串中第一次出现的开始位置索引 值;如果不存在,则返回-1。
  • 判断:startswith,endswith 判断字符串是否以谁谁谁开头/结尾
  • 计算出现次数:count 返回str在start和end之间,在mystr里面出现的次数
  • 替换内容:replace 替换字符串中指定的内容,如果指定次数count,则替换不会超过count次
  • 切割字符串:split 通过参数的内容切割字符串
  • 修改大小写:upper,lower 将字符串的大小写呼唤
  • 空格处理:strip 去空格
  • 字符串拼接:join 字符串拼接

  1. len
s = 'China'
print(len(s))   # 5
  1. find
s1 = 'China'
print(s1.find('a'))     # 4
  1. startswith endswith
s2 = 'China'
print(s2.startswith('C'))      # True
print(s2.endswith('a'))        # True
  1. count
s3 = 'aaabb'
print(s3.count('a'))    # 3
  1. replace
s4 = 'cccdd'
print(s4.replace('c', 'd'))  # ddddd
  1. split
s5 = '1#2#3#4'
print(s5.split('#'))    # ['1', '2', '3', '4']
  1. upper lower
s6 = 'china'
print(s6.upper())   # CHINA

s7 = 'CHINA'
print(s7.lower())   # china
  1. strip
s8 = '   a   '
print(len(s8))  # 7
print(len(s8.strip()))  # 1
print(s8.strip())   # a
  1. join
s9 = 'a'
print(s9.join('hello'))     # haealalao

二、列表高级

添加元素

  • append 在末尾添加元素
# append    追加  在列表的最后来添加一个对象/数据
food_list = ['铁锅炖大鹅', '酸菜五花肉']
print(food_list)    # ['铁锅炖大鹅', '酸菜五花肉']

food_list.append('小鸡炖蘑菇')
print(food_list)    # ['铁锅炖大鹅', '酸菜五花肉', '小鸡炖蘑菇']
  • insert 在指定位置插入元素
# insert
char_list = ['a', 'c', 'd']
print(char_list)    # ['a', 'c', 'd']

char_list.insert(1, 'b')    # index的值:想插入数据的下标
print(char_list)    # ['a', 'b', 'c', 'd']
  • extend 合并两个列表
# extend
num_list = [1, 2, 3]
num1_list = [4, 5, 6]

num_list.extend(num1_list)
print(num_list)         # [1, 2, 3, 4, 5, 6]

修改元素

通过指定下标来访问列表元素,为指定的列表下标赋值即可

city_list = ['北京', '上海', '深圳', '武汉', '西安']
print(city_list)    # ['北京', '上海', '深圳', '武汉', '西安']

# 将列表中的元素值修改
# 可以通过下标来修改,注意列表中的下标是从0开始的
city_list[4] = '合肥'
print(city_list)    # ['北京', '上海', '深圳', '武汉', '合肥']

查找元素

  • in(存在):判断某一个元素是否在一个列表中,如果存在那么结果为True,否则为False
food_list = ['锅包肉', '汆白肉', '东北乱炖']
food = input('请输入您想吃的食物:')  # 判断一下在控制台输入的那个数据,是否在列表中

if food in food_list:
    print('在')
else:
    print('不在,一边拉去')
  • not in(不存在):如果不存在那么结果为True,否则为False
ball_list = ['篮球', '台球']
ball = input('请输入您喜欢的球类:')  # 在控制台上输入您喜欢的球类,判断是否在这个列表中

if ball not in ball_list:
    print('不在')
else:
    print('在')

in的方法只要会用了,那么not in也是同样的方法,只不过not in判断的是不存在。

删除元素

  • del:根据下标进行删除
a_list = [1, 2, 3, 4, 5]
print(a_list)   # [1, 2, 3, 4, 5]

# 爬取的数据中,有个别的数据是我们不想要的,那么我们可以通过下标的方式来删除
del a_list[2]
print(a_list)   # [1, 2, 4, 5]
  • pop:删除最后一个元素
b_list = [1, 2, 3, 4, 5]
print(b_list)   # [1, 2, 3, 4, 5]

b_list.pop()
print(b_list)   # [1, 2, 3, 4]
  • remove:根据元素的值进行删除
c_list = [1, 2, 3, 4, 5]
print(c_list)   # [1, 2, 3, 4, 5]

c_list.remove(3)
print(c_list)   # [1, 2, 4, 5]

三、元组高级

在Python中,元组与列表相似。

不同之处在于:

  1. 元组的元素不能修改
  2. 元组使用小括号(),列表使用方括号【】
  • 访问元组
a_tuple = (1, 2, 3, 4)
print(a_tuple[0])   # 1
print(a_tuple[1])   # 2
print(a_tuple[2])   # 3
print(a_tuple[3])   # 4
  • 修改元组

元组不可以修改里面的内容

  • 访问列表
b_list = [1, 2, 3, 4]
print(b_list[0])   # 1
print(b_list[1])   # 2
print(b_list[2])   # 3
print(b_list[3])   # 4

列表可以修改里面的内容

  • 修改列表

定义只有一个数据的元组:需要在唯一的元素后写一个逗号

c_tuple = (5)
print(type(c_tuple))    # <class 'int'>
# 当元组中只有一个元素的时候,那么它是整型数据

d_tuple = (5,)
print(type(d_tuple))    # <class 'tuple'>

四、切片

切片:对操作的对象截取其中一部分的操作。字符串列表元组都支持切片操作。

切片的语法:【起始:结束:步长】,也可以简化使用【起始:结束】

注意:选取的区间从“起始”位开始,到“结束”位的前一位结束(不包括结束位本身),步长表示选取间隔。

# 索引:通过下标取某一个元素
# 切片:通过下标取某一段元素

s = 'hello world'

print(s)        # hello world

# 在切片中直接写一个下标
print(s[0])     # h

# 左闭右开区间:包含左边的数据,不包含右边的数据
print(s[0:4])   # hell

# 从下标为1开始,取出后面所有的元素(没有结束位)
print(s[1:])    # ello world

# 从起始位置开始,取到下标为4的前一个元素(不包括结束位本身)
print(s[:4])    # hell

# 从下标为0开始,取到下标为6的前一个元素,步长为2(不包括结束位本身)
print(s[0:6:2])     # hlo

五、字典高级

查看元素

除了使用key值查找数据,还可以使用get来获取数据

person = {'name': '吴签', 'age': 28}      # 定义一个字典

# 访问person的name
print(person['name'])   # 吴签
# 访问person的age
print(person['age'])    # 28

# 使用【】的方式,获取字典中不存在的key的时候,会发生异常:KeyError
# print(person['sex'])

# 不能使用.的方式来访问字典的数据
# print(person.name)

print(person.get('name'))   # 吴签
print(person.get('age'))    # 28

# 使用.get的方式,获取字典中不存在的key的时候,会返回None值
print(person.get('sex'))    # None

修改元素

字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改

person = {'name': '张三', 'age': 18}

# 修改之前的字典
print(person)   # {'name': '张三', 'age': 18}

# 修改name的值为法外狂徒
person['name'] = '法外狂徒'

# 修改之后的字典
print(person)   # {'name': '法外狂徒', 'age': 18}

添加元素

如果在使用变量名['键'] = 数据时,这个“键”在字典中不存在,那么就会新增这个元素

person = {'name': '老马'}
print(person)       # {'name': '老马'}

# 给字典添加一个新的key value

# 如果使用变量名字['键'] = 数据,这个键如果在字典中不存在,那么就会变成新增元素;
person['age'] = 18
print(person)       # {'name': '老马', 'age': 18}

# 如果这个键在字典中存在,那么就会变成这个元素
person['name'] = '阿玛'
print(person)       # {'name': '阿玛', 'age': 18}

删除元素

对字典的删除,有以下几种:

  • del

    • 删除字典中指定的某一个元素
    person = {'name': '老马', 'age': 18}
    
    # 删除之前
    print(person)       # {'name': '老马', 'age': 18}
    
    # 删除之后
    del person['age']
    print(person)       # {'name': '老马'}
    
    • 删除整个字典
    person = {'name': '老马', 'age': 18}
    
    # 删除之前
    print(person)       # {'name': '老马', 'age': 18}
    
    # 删除之后
    del person
    print(person)       # name 'person' is not defined
    
  • clear

    • 清空字典,但是保留字典对象
    person = {'name': '老马', 'age': 18}
    
    # 删除之前
    print(person)       # {'name': '老马', 'age': 18}
    
    # 删除之后
    person.clear()        # 清空指的是将字典中所有的数据都删除掉,而保留字典的结构
    print(person)       # {}
    

字典的遍历

遍历:数据一个一个的输出

person = {'name': '阿玛', 'age': 18, 'sex': '男'}
  • 遍历字典的key
# 字典.keys()方法,获取的是字典中所有的key值,key是一个变量的名字,我们可以随便起

for key in person.keys():
    print(key)
name
age
sex
  • 遍历字典的value
# 字典.values()方法,获取的是字典中所有的value值,value是一个变量的名字,我们可以随便起

for value in person.values():
    print(value)
阿玛
18
男
  • 遍历字典的key和value
for key, value in person.items():
    print(key, value)
name 阿玛
age 18
sex 男
  • 遍历字典的项/元素
for item in person.items():
    print(item)
('name', '阿玛')
('age', 18)
('sex', '男')

相关文章

网友评论

      本文标题:Python_0基础:8.数据类型高级

      本文链接:https://www.haomeiwen.com/subject/wynmprtx.html