IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python基础学习07——之字符串、集合、字典 -> 正文阅读

[Python知识库]Python基础学习07——之字符串、集合、字典

Python基础学习07——之字符串、集合、字典

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程序中的集合和我们以前上学读书的集合是一个意思,也就是把具有相同特征的事务归纳为某一类,把这个类抽象为集合。
  • 集合具有三个特别重要的性质
    1. 无序性 ,简单来讲就是集合里面的元素是没有顺序可言的
    2. 互异性,集合里面的元素不可以重复
    3. 确定性,元素要么存在集合中,要么不存在集合中。不能出现有歧义。
  • 定义一个集合
# 定义一个空的集合
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函数)
  1. 可变容器都无法计算表哈希码,因此都不能放到集合中
  2. 可变容器,列表、集合、字典
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知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-30 12:42:21  更:2021-07-30 12:43:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/25 14:19:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计