Python基础学习07——之字符串、集合、字典
2021/7/30 1:05:57
本文主要是介绍Python基础学习07——之字符串、集合、字典,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Python基础学习07——之字符串、集合、字典
文章目录
- Python基础学习07——之字符串、集合、字典
- 1. 字符串
- 1.1 字符串的基本运算
- 1.2 字符串中特别重要的两个方法
- 1.3 字符串的格式化输出
- 1.4字符串的应用场景
- 2. 集合
- 2.1 集合的定义
- 2.2 集合的运算
- 3. 字典
- 3.1 字典的定义
- 3.2 字典的常用运算
1. 字符串
1.1 字符串的基本运算
-
注意字符串是不可以变的数据类型
-
字符串的基本运算包括,字符串的拼接(常用)、成员运算、拆分等操作
-
具体操作请参考上一篇
1.2 字符串中特别重要的两个方法
contexts = 'hello,world!' print(contexts.strip('!')) # 脱去 #hello,world print(contexts.strip('!').split(',')) # 拆分,生成一个列表 #['hello', 'world'] # join函数可以实现将列表连接成字符串 print(' '.join(contexts.strip('!').split(','))) #hello world
1.3 字符串的格式化输出
contexts = 'hello,world!' print(contexts.center(80, '=')) print(contexts.rjust(80, '+')) print(contexts.ljust(80, '+')) print(contexts.zfill(20)) # 不够左边补0填充 a,b=12,34 print(f'{a}+{b}={a+b}') print('{}+{}={}'.format(a,b,a+b)) print('{0}+{1}={2}'.format(a,b,a+b)) print(f'{a}/{b}={a/b:.2%}') print(f'{a}*{b}={a*b:.2e}') print(f'{a:<10d}') print(f'{a:0>10d}')
1.4字符串的应用场景
- 求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。
例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制 - 编程思想:利用字符串拼接,在用int()函数转换为整数
n = input('n=') num = int(input('num=')) total = 0 for _ in range(num): total += int(n) n += n[0] print(total)
- 统计一个字符中的空格、英文字母、数字、其它字符的数量
context = 'i love you than 你 爱 me! 1314520' space = 0 eng = 0 num = 0 other = 0 # 判断性质 for i in range(len(context)): if context[i].isdigit(): num += 1 elif context[i].isspace(): space += 1 elif context[i].isalpha(): eng += 1 else: other += 1 print(space) print(eng) print(num) print(other)
2. 集合
2.1 集合的定义
- python程序中的集合和我们以前上学读书的集合是一个意思,也就是把具有相同特征的事务归纳为某一类,把这个类抽象为集合。
- 集合具有三个特别重要的性质
- 无序性 ,简单来讲就是集合里面的元素是没有顺序可言的
- 互异性,集合里面的元素不可以重复
- 确定性,元素要么存在集合中,要么不存在集合中。不能出现有歧义。
- 定义一个集合
# 定义一个空的集合 set1 = set() #set2={} # 不能够这样定义集合,会被python解释器会被认为是字典 print(type(set2)) # <class 'dict'> set3={1,23,45,56,78,23}
- 集合的遍历
set3={1,23,45,56,78,23} for elem in set3: print(elem)
2.2 集合的运算
# 集合的成员运算远远高于列表的成员运算 print(1 in set1) # 体现确定性,要么在集合中,要么不在集合中。 print(1 not in set1) # 体现无序性,不可用小标去索引 # TypeError: 'set' object is not subscriptable # print(set1[1])
set1 = {1, 2, 3, 4, 6, 7} set2 = {1, 3, 55, 56} # & 交集 print(set1 & set2) print(set1.intersection(set2)) # | 并集 print(set1 | set2) print(set1.union(set2)) # 差集 print(set1 - set2) print(set1.difference(set2)) # 对称差 print(set1 ^ set2) print((set1 | set2) - (set1 & set2)) print(set1.symmetric_difference(set2)) # 判断真子集 print(set1 < set2) # 判断子集 print(set1 <= set2) # 判断超集 print(set1 > set2)
- 集合底层采用哈希存储(设计一个好的hash函数)
- 可变容器都无法计算表哈希码,因此都不能放到集合中
- 可变容器,列表、集合、字典
l = [12, 3] # TypeError: unhashable type: 'list' # set1={[12,3]} set1 = {(1, 2), 'tian'} print(set1) # TypeError: unhashable type: 'set' # set2={set1} set1.add('yu') print(set1) # 指定删除某个元素 set1.discard('yu') print(set1) # 随机删除 print(set1.pop()) # print(set1.pop()) print(set1) # 清空集合 set1.clear()
- 如图:
3. 字典
3.1 字典的定义
- python中的字典数据类型,类似于以前我们用的“中华字典”是一种通过键值对的形式来存储数据
- key,是唯一的,可以通过key来访问值
- 底层用hash来存储数据,索引key不能是可变数据类型
# 定义一个空字典 dict1 = dict() print(dict1, type(dict1)) #{} <class 'dict'> dict2={'name':'yuping','age':'23','merit':'编程'} print(dict2,type(dict2)) # {'name': 'yuping', 'age': '23', 'merit': '编程'} <class 'dict'>
- 字典的value可以是任意数据类型
# 创建字典 student = {'id': 20181703034, 'name': '小天', 'birthday': '11-09', 'favor': ['reading', 'play', 'music', '编程'], 'contacts': {'email': '504512467', 'tel': '15585270810' }} print(student['name']) # 小天 print(student['contacts']['tel']) # 15585270810
3.2 字典的常用运算
dict2={'name':'yuping','age':'23','merit':'编程'} # 根据键来获取对应的值 print(dict2.get('name')) # 按键删除某个键值对 dict2.pop('name') print(dict2) # 清空 dict2.clear() print(dict2)
这篇关于Python基础学习07——之字符串、集合、字典的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程