当前位置:   article > 正文

python基本语法之数据容器(str字符串、set集合、dict字典)_【信息去重】有如下列表对象:my_list = [‘黑马程序员’, ‘传智播客’, ‘黑

【信息去重】有如下列表对象:my_list = [‘黑马程序员’, ‘传智播客’, ‘黑

字符串

字符串定义

字符串是字符的容器,一个字符串可以存放任意数量的字符。
如,字符串:“itheima”

同元组一样,字符串是一个:无法修改的数据容器。
所以:增删改均不能完成

  • 修改指定下标的字符 (如:字符串[0] = “a”)
  • 移除特定下标的字符 (如:del 字符串[0]、字符串.remove()、字符串.pop()等)
  • 追加字符等 (如:字符串.append())

如果必须要做,只能得到一个新的字符串,旧的字符串是无法修改的

字符串特点

作为数据容器,字符串有如下特点:

  • 只可以存储字符串
  • 长度任意(取决于内存大小)
  • 支持下标索引
  • 允许重复字符串存在
  • 不可以修改(增加或删除元素等)
  • 支持for循环

基本和列表、元组相同
不同与列表和元组的在于:字符串容器可以容纳的类型是单一的,只能是字符串类型。
不同于列表,相同于元组的在于:字符串不可修改

字符串索引

在这里插入图片描述
和其它容器如:列表、元组一样,字符串也可以通过下标进行访问
从前向后,下标从0开始
从后向前,下标从-1开始

my_str = "hello python"

print(my_str[0])#正向索引
print(my_str[-1])#反向索引
  • 1
  • 2
  • 3
  • 4

字符串常用操作

  • 查询元素下标
  • 字符串替换
  • 字符串分割
  • 字符串规整操作
  • 统计元素个数

查询元素下标

语法:字符串.index(字符串)

my_str = "hello python"

print(my_str.index("o"))
  • 1
  • 2
  • 3

字符串替换

语法:字符串.replace(字符串1,字符串2)
功能:将字符串内的全部:字符串1,替换为字符串2
注意:不是修改字符串本身,而是得到了一个新字符串

my_str = "hello python"
new_str = my_str.replace("hello", "Bye")

print(f"my_str: {my_str}")
print(f"new_str: {new_str}")
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述
可以看到,字符串name本身并没有发生变化,而是得到了一个新字符串对象

字符串分割

语法:字符串.split(分隔符字符串)
功能:按照指定的分隔符字符串,将字符串划分为多个字符串,并存入列表对象中
注意:字符串本身不变,而是得到了一个列表对象

my_str = "hello python"

my_list = my_str.split(" ")
print(my_list)
  • 1
  • 2
  • 3
  • 4

字符串规整操作

注意:所有去字符的操作都只能去掉前后的,不能去掉中间的

  • 去前后空格
    语法:字符串.strip()
my_str = "    hello python    "
print(f"my_str: {my_str}")
my_str = my_str.strip()
print(f"my_str.strip(): {my_str}")
  • 1
  • 2
  • 3
  • 4

注意:和replace不同,使用strip后字符串会变化
在这里插入图片描述

  • 去前后指定字符串
    语法:字符串.strip(字符串)
my_str = "12hello 12 python21"
print(f"my_str: {my_str}")
my_str = my_str.strip("12")
print(f"my_str.strip(): {my_str}")
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述
注意,传入的是“12” 其实就是:”1”和”2”都会移除,是按照单个字符。

统计元素个数

  • 统计字符串中某字符串的出现次数
    语法:字符串.count(字符串)
my_str = "12hello 12 python21"

print(my_str.count("12"))
  • 1
  • 2
  • 3
  • 统计字符串的长度
    语法:len(字符串)
my_str = "123 abc @$% 字母歌"

print(len(my_str))
  • 1
  • 2
  • 3

数字(1、2、3…)——字母(abcd、ABCD等)——符号(空格、!、@、#、$等)——中文
均算作1个字符,所以上述代码,结果为15

汇总

在这里插入图片描述

集合

由于列表、元组、字符串都支持元素重复,如果场景需要对内容做去重处理,列表、元组、字符串就不方便了。
而集合,最主要的特点就是:不支持元素的重复(自带去重功能)、并且内容无序

集合定义

和列表、元组、字符串等定义基本相同:

  • 列表使用:[]
  • 元组使用:()
  • 字符串使用:“”
  • 集合使用:{}
set1 = {"aaa", "bbb", "aaa", 123}
set2 = set({"111", "222", "111", 123})

print(set1)
print(set2)
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述
因为要对元素做去重处理
所以无法保证顺序和创建的时候一致

集合的特点

  • 可以容纳多个数据
  • 可以容纳不同类型的数据(混装)
  • 数据是无序存储的(不支持下标索引)
  • 不允许重复数据存在
  • 可以修改(增加或删除元素等)
  • 支持for循环

集合的常用操作

  • 添加新元素
  • 删除元素
  • 从集合中随机取出元素
  • 清空集合
  • 取出两个集合的差集
  • 消除两个集合的差集
  • 两个集合合并
  • 查看集合的元素数量

添加新元素

语法:集合.add(元素)。将指定元素,添加到集合内
结果:集合本身被修改,添加了新元素

set1 = {"aaa", "bbb", "aaa", 123}

set1.add("hello")
  • 1
  • 2
  • 3

删除元素

语法:集合.remove(元素),将指定元素,从集合内移除
结果:集合本身被修改,移除了元素

set1 = {"aaa", "bbb", "aaa", 123}

set1.remove("aaa")
  • 1
  • 2
  • 3

从集合中随机取出元素

语法:集合.pop(),功能,从集合中随机取出一个元素
结果:会得到一个元素的结果。同时集合本身被修改,元素被移除

set1 = {"aaa", "bbb", "aaa", 123}

set1.pop()
  • 1
  • 2
  • 3

在这里插入图片描述

清空集合

语法:集合.clear(),功能,清空集合
结果:集合本身被清空

set1 = {"aaa", "bbb", "aaa", 123}

set1.clear()
  • 1
  • 2
  • 3

在这里插入图片描述

取出两个集合的差集

语法:集合1.difference(集合2),功能:取出集合1和集合2的差集(集合1有而集合2没有的)
结果:得到一个新集合,集合1和集合2不变

set1 = {"aaa", "bbb", "aaa", 123}
set2 = {"bbb", "ccc", "ddd", 123}

set3 = set1.difference(set2)

print(f"set1: {set1}")
print(f"set2: {set2}")
print(f"set3: {set3}")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述

消除两个集合的差集

语法:集合1.difference_update(集合2)
功能:对比集合1和集合2,在集合1内,删除和集合2不同的元素。
结果:集合1被修改,集合2不变

set1 = {"aaa", "bbb", "aaa", 123}
set2 = {"bbb", "ccc", "ddd", 123}

set3 = set1.difference_update(set2)

print(f"set1: {set1}")
print(f"set2: {set2}")
print(f"set3: {set3}")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述

两个集合合并

语法:集合1.union(集合2)
功能:将集合1和集合2组合成新集合
结果:得到新集合,集合1和集合2不变

set1 = {"aaa", "bbb", "aaa", 123}
set2 = {"bbb", "ccc", "ddd", 123}

set3 = set1.union(set2)

print(f"set1: {set1}")
print(f"set2: {set2}")
print(f"set3: {set3}")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述

查看元素集合数量

语法:len(集合)
功能:统计集合内有多少元素
结果:得到一个整数结果

set1 = {"aaa", "bbb", "aaa", 123}
print(len(set1))
  • 1
  • 2

总结

在这里插入图片描述

小练习

有如下列表对象:
my_list = [‘黑马程序员’, ‘传智播客’, ‘黑马程序员’, ‘传智播客’, ‘itheima’, ‘itcast’, ‘itheima’, ‘itcast’, ‘best’]

请:
定义一个空集合
通过for循环遍历列表
在for循环中将列表的元素添加至集合
最终得到元素去重后的集合对象,并打印输出

my_list = ['黑马程序员', '传智播客', '黑马程序员', '传智播客', 'itheima', 'itcast', 'itheima', 'itcast', 'best']
my_set = {""}

for item in my_list:
    my_set.add(item)

my_set.remove("")
print(my_set)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/171931
推荐阅读
相关标签
  

闽ICP备14008679号