赞
踩
字符串是字符的容器,一个字符串可以存放任意数量的字符。
如,字符串:“itheima”
同元组一样,字符串是一个:无法修改的数据容器。
所以:增删改均不能完成
如果必须要做,只能得到一个新的字符串,旧的字符串是无法修改的
作为数据容器,字符串有如下特点:
基本和列表、元组相同
不同与列表和元组的在于:字符串容器可以容纳的类型是单一的,只能是字符串类型。
不同于列表,相同于元组的在于:字符串不可修改
和其它容器如:列表、元组一样,字符串也可以通过下标进行访问
从前向后,下标从0开始
从后向前,下标从-1开始
my_str = "hello python"
print(my_str[0])#正向索引
print(my_str[-1])#反向索引
语法:字符串.index(字符串)
my_str = "hello python"
print(my_str.index("o"))
语法:字符串.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}")
可以看到,字符串name本身并没有发生变化,而是得到了一个新字符串对象
语法:字符串.split(分隔符字符串)
功能:按照指定的分隔符字符串,将字符串划分为多个字符串,并存入列表对象中
注意:字符串本身不变,而是得到了一个列表对象
my_str = "hello python"
my_list = my_str.split(" ")
print(my_list)
注意:所有去字符的操作都只能去掉前后的,不能去掉中间的
my_str = " hello python "
print(f"my_str: {my_str}")
my_str = my_str.strip()
print(f"my_str.strip(): {my_str}")
注意:和replace不同,使用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}")
注意,传入的是“12” 其实就是:”1”和”2”都会移除,是按照单个字符。
my_str = "12hello 12 python21"
print(my_str.count("12"))
my_str = "123 abc @$% 字母歌"
print(len(my_str))
数字(1、2、3…)——字母(abcd、ABCD等)——符号(空格、!、@、#、$等)——中文
均算作1个字符,所以上述代码,结果为15
由于列表、元组、字符串都支持元素重复,如果场景需要对内容做去重处理,列表、元组、字符串就不方便了。
而集合,最主要的特点就是:不支持元素的重复(自带去重功能)、并且内容无序
和列表、元组、字符串等定义基本相同:
set1 = {"aaa", "bbb", "aaa", 123}
set2 = set({"111", "222", "111", 123})
print(set1)
print(set2)
因为要对元素做去重处理
所以无法保证顺序和创建的时候一致
语法:集合.add(元素)。将指定元素,添加到集合内
结果:集合本身被修改,添加了新元素
set1 = {"aaa", "bbb", "aaa", 123}
set1.add("hello")
语法:集合.remove(元素),将指定元素,从集合内移除
结果:集合本身被修改,移除了元素
set1 = {"aaa", "bbb", "aaa", 123}
set1.remove("aaa")
语法:集合.pop(),功能,从集合中随机取出一个元素
结果:会得到一个元素的结果。同时集合本身被修改,元素被移除
set1 = {"aaa", "bbb", "aaa", 123}
set1.pop()
语法:集合.clear(),功能,清空集合
结果:集合本身被清空
set1 = {"aaa", "bbb", "aaa", 123}
set1.clear()
语法:集合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.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.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}")
语法:len(集合)
功能:统计集合内有多少元素
结果:得到一个整数结果
set1 = {"aaa", "bbb", "aaa", 123}
print(len(set1))
有如下列表对象:
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)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。