Day8 元组,集合,字符串
Day 8 元组,集合,字符串
1.元组
1. 什么是元组?(tuple)
元组是容器(序列),将()作为容器的标志,里面多个元素用逗号隔开:(元素1,元素2,元素3,…)
2.元组作为容器的特点
1)不可变的(不支持增,删,改)
1.查:列表获取元素的方法元组都支持
t1 = (10, 20, 30,'True',[1,2],{'a':100})
print(t1,type(t1)) #(10, 20, 30, 'True', [1, 2], {'a': 100}) <class 'tuple'>t1 = (10, 20, 30,'True',[1,2],{'a':100})
print(t1[1]) # 20
print(t1[3:]) # ('True', [1, 2], {'a': 100})
2.元组特有的或者常用的一些操作
1)只有一个元素的元组:必须在唯一的元素后面加逗号
t2 = (10)
print(t2, type(t2)) # 10 <class 'int'>(不是元组形式)
t2 = (10,)
print(t2, type(t2)) # (10,) <class 'tuple'>
2)在没有歧义的情况下,元组的小括号可以直接省略(直接将多个元素用逗号隔开,也是表示一个元组)
t3 = (10.20.30)
print(t3, type(t3))
t4 = 10,20,30
print(t4, type(t4))
3)可以通过变量的个数和元组中元素的个数保持一致,来获取元组中的每个元素
point = (100, 'abc')
print(point[0], point[1]) # 100 abcx, y = point
print(x, y) # 100 abc
如果变量个数比元组中元素少,要在其中一个变量前加星号,其他变量正常按顺序取值,剩下的元素以列表的形式返回给带星号的变量
t4 = (10, 'True', [1, 2], {'a':100})
x1, x2, *x3 = t4
print(x1, x2, x3) # 10 True [[1, 2], {'a': 100}]t4 = (10, 'True', [1, 2], {'a':100})
*x1, x2, x3 = t4
print(x1, x2, x3) # [10, 'True'] [1, 2] {'a': 100}
2)有序的(支持下标操作)
3)元素的要求和列表一样(元组就是不可变的列表)
2.集合
1.什么是集合?(set)
集合是容器(序列),将{}作为容器的标志,里面多个元素用逗号隔开:{元素1,元素2,元素3,…}
2.集合作为容器的特点
可变的,无序的
元素的要求:不可变的;唯一的
1.空集合
s1 = set()
print(type(s1),len(s1)) # <class 'set'> 0
2.证明集合中元素不可变
s1 = {10, True, 'abc', (1, 2)}
print(s1) # {True, 10, (1, 2), 'abc'}
s2 = {10, True, 'abc', [1, 2]}
print(s2) # TypeError: unhashable type: 'list'(报错)
3.集合无序
s1 = {10, True, 'abc', (1, 2)}
print(s1) # {True, 10, (1, 2), 'abc'}
4.元素唯一
s3 = {1, 2, 3, 4, 1, 2, 3, 1, 2, 3}
print(s3) # {1, 2, 3, 4}(自动去重)
5.集合自带去重功能
scores = [45, 67, 56, 78, 98, 45, 56]
new_scores =list(set(scores))
print(new_scores) # [98, 67, 45, 78, 56]
3.数学集合运算:交集,并集,差集,对称差集,子集,真子集
1)交集(&)—求两个集合的公共部分
n1 = {1, 2, 3, 4, 5, 6,7}
n2 = {5, 6, 7, 8, 9}
result = n1 & n2
print(result) # {5, 6, 7}
2)并集(|)------合并两个集合
n1 = {1, 2, 3, 4, 5, 6,7}
n2 = {5, 6, 7, 8, 9}
result = n1 | n2
print(result) # {1, 2, 3, 4, 5, 6, 7, 8, 9}
3)差集(-)----集合1-集合2—> 集合1中除了包含在集合2中以外的部分
n1 = {1, 2, 3, 4, 5, 6, 7}
n2 = {5, 6, 7, 8, 9}
result = n1 - n2
print(result) # {1, 2, 3, 4}
4)对称差集 (^) ——两个集合合并然后去掉公共部分
n1 = {1, 2, 3, 4, 5, 6, 7}
n2 = {5, 6, 7, 8, 9}
result = n1 ^ n2
print(result) # {1, 2, 3, 4, 8, 9}
5)子集(>= ,<=) ----
s1 = {100, 200, 300, 400}
s2 = {1, 2}
print(s1>s2) # False
s3 = {100, 200, 300, 400, 1, 2}
s4 = {1, 2}
print(s3>s4) # True
6)真子集(>, <)
3.用三个集合表示三门学科的选课学生姓名(一个学生可以同时选多门课)
a. 求选课学生总共有多少人
b. 求只选了第一个学科的人的数量和对应的名字
c. 求只选了一门学科的学生的数量和对应的名字
d. 求只选了两门学科的学生的数量和对应的名字
e. 求选了三门学生的学生的数量和对应的名字
3.字符串
1.什么是字符串?
字符串是容器(序列),将’’,"","""""",’’’’’'作为容器的标志,在引号中的每一个符号都是字符串的元素,(字符串的元素又叫字符)
#写注释的时候最好用# ,否则就是字符串
2.’‘和""没有区别,’’’’’'和""""""也没有区别
注:’‘和""""引起来的字符串内容不能直接通过回车换行,’’’’’'和""""""引起来的字符串内容可以直接通过回车换行
str = 'abc' \'123'
str = """abd123"""
3.字符串作为容器的特点
1)不可变(所以所有字符串相关的可变操作全部都会产生一个新的字符串)
2)有序的,支持下标操作(切片,遍历)
3)字符串中的元素(字符):通过任何手段可以放入引号中的符号都可以是字符串的元素
4.字符
字符分为普通字符和转义字符两种
1)普通字符
除了转义字符以外的都是普通字符
2)转义字符—在一些特定符号前加 \ 在字符串中表示一些具有特殊功能或者特殊意义的符号。
\n —— 换行
str = 'aba\n123'
print(str) # aba# 123\t ——水平制表符(相当于按一次Tab键)```py
str = 'aba\t123'
print(str) # aba 123
\’ ——表示一个单引号
\" ——表示一个双引号
str = 'aba\'123\"87'
print(str) # aba'123"87
\\ ——表示一个反斜杠(使反斜杠变得普通)
str = 'aba\\n123\\t87'
print(str) # aba\n123\t87
\u四位的十六进制编码值——将编码值转化成对应的字符
str1 = 'abc\u4e80123'
print(str1) # abc亀123
5.电脑中的字符编码
1.字符在计算机中的存储问题(编码值)
计算机只能存数字,所以为了能够保存字符,给每一个字符对应一个固定的数字,每次需要保存字符的时候直接保存字符对应的数字。
每个符号对应的固定数字就是这个字符的编码值
2.编码表
记录字符和编码值之间一一对应关系的表,常见的编码表有两种分别是:ASCII码表和Unicode编码表
1)ASCII码表
总共有128(2**7)个字符,表中,数字字符在大写字母的前面,大写字母在小写字母的前面,大写字母和小写字母之间有其他字符
2)Unicode编码表
Unicode编码表对ASCII编码表进行了扩充,它记录了世界上所有国家,民族,语言的符号。
中文的编码范围:4e00 ~ 9fa5
3.编码值的使用
1)\u编码值(4位16进制值)
print('\u4e07') # 万
2)char(编码值)------获取编码值对应的字符
for x in range(0x4e80, 0x4f00):print(chr(x), end = ' ')
# 亀 亁 亂 亃 亄 亅 了 亇 予 争 亊 事 二 亍 于 亏 亐 云 互 亓 五 井 亖 亗 亘 亙 亚 些 亜 亝 亞 亟 亠 亡 亢 亣 交 亥 亦 产 亨 亩 亪 享 京 亭 亮 亯 亰 亱 亲 亳 亴 亵 亶 亷 亸 亹 人 亻 亼 亽 亾 亿 什 仁 仂 仃 仄 仅 仆 仇 仈 仉 今 介 仌 仍 从 仏 仐 仑 仒 仓 仔 仕 他 仗 付 仙 仚 仛 仜 仝 仞 仟 仠 仡 仢 代 令 以 仦 仧 仨 仩 仪 仫 们 仭 仮 仯 仰 仱 仲 仳 仴 仵 件 价 仸 仹 仺 任 仼 份 仾 仿
3)ord(字符) ----获取字符对应的编码值
print(ord('贺'), ord('芳')) # 36154 33459
print(hex(ord('贺')), hex(ord('芳'))) # 0x8d3a 0x82b3
4)字符串比较大小
print('abc' > 'ABCDEF') # True
比较第一对不相等的字符的编码值的大小。(两个字符串同位置上的字符是一对)
Day8 元组,集合,字符串相关推荐
- 二、python基础(列表、元组、字符串、集合、字典、文件操作,函数基本语法及特性)...
本节内容 列表.元组操作 字符串.列表.字典.集合操作 文件操作 函数基本语法及特性 一.列表.元组操作 列表是我们最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作: 列表操作:切 ...
- python day2 python基础 列表、元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码...
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...
- python基础:序列(列表、元组、字符串)、函数、字典、集合
Python语言运行环境: windows linux unix Macos等等 博客记录内容: Python3的所有语法.面向对象思维.运用模块进行编程.游戏编程.计算机仿真. Python是什么类 ...
- Python序列 数据类型 创建方式 Tuple元组 Str字符串 List列表 dict字典 Set集合 range,zip,map,enumerate
Python 序列分类 数据类型 详细介绍 Python 主要数据类型: 元组Tuple, 字符串Str,列表List,字典Dict,集合Set 对比 元组Tuple 字符串Str 列表List 字典 ...
- python元组转字符串_python3字符串和字典、集合、元组的相互转换 | 吴老二
字符串转字典 字符串转字典可以使用内置参数eval()函数,只能针对字符串双引号是字典格式的字符串. #!/usr/bin/python3 #coding:utf-8 #吴老二个人博客~~~www.w ...
- 3. Python 数据容器(列表、元组、字符串、集合、字典)
1. 数据容器入门 数据容器:一种可以容纳多份数据的数据类型,容纳的每份数据称为一个元素. 每个元素,可以是任意类型数据,如:字符串.数字.布尔等. 数据容器根据特点的不同,如: 是否支持重复元素 是 ...
- c 提取引号中间的字符串_Python | 一文看懂Python列表、元组和字符串操作
好文推荐,转自CSDN,原作星辰StarDust 序列 序列是具有索引和切片能力的集合. 列表.元组和字符串具有通过索引访问某个具体的值,或通过切片返回一段切片的能力. 列表.元组.字符串都属于序列 ...
- angular 字符串转换成数字_一文看懂Python列表、元组和字符串操作
好文推荐,转自CSDN,原作星辰StarDust,感觉写的比自己清晰-大江狗荐语. 序列 序列是具有索引和切片能力的集合. 列表.元组和字符串具有通过索引访问某个具体的值,或通过切片返回一段切片的能力 ...
- python 下标 遍历列表_python中的数据结构与算法(1):列表、元组与字符串
列表是 python 中最常用.最重要的数据结构之一. 一般来说,我们用列表来管理一组数据对象,这些对象可能是同一类型,也可能是不同类型.列表不仅记录了这些数据对象,而且也记录了它们之间的一种顺序关系 ...
- angular 字符串转换成数字_Python | 一文看懂Python列表、元组和字符串操作
好文推荐,转自CSDN,原作星辰StarDust 序列 序列是具有索引和切片能力的集合. 列表.元组和字符串具有通过索引访问某个具体的值,或通过切片返回一段切片的能力. 列表.元组.字符串都属于序列 ...
最新文章
- 愉快的舞会c++_如何在5分钟内建立一个令人愉快的加载屏幕
- 【Binary Tree Level Order Traversal】cpp
- 《硝烟中的Scrum和XP》-首感
- agv ti 毫米波雷达_激光雷达VS毫米波雷达 谁才是自动驾驶“头号玩家”?
- webBrowser强制在本窗口打开,禁止在新窗口打开
- Oracle数据库中序列(SEQUENCE)的用法详解
- 解决JavaFX报错缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序
- basemap安装_Python画地图逃不过的basemap「完全安装手册」 | 附下载
- 记录用户转成超级用户的文件名字_一分钟了解Linux用户
- c语言中girth的作用,C语言课后习题及答案
- 计算机专业学生如何规划好大学四年的学习
- Symbian 如何如何调用Wap浏览器
- 黑色温敏性PNIPAM-AuNPs/CHOL-AuNPs纳米金粒修饰聚合物的制备过程
- 使学习效率提高5倍的20个起始步骤
- MATLAB的图像灰度线性变换
- TradingView入门
- floyed 算法计算最短路径
- flstudio插件找不到_FL Studio 中找不到 Waves 插件怎么办?
- SAP采购订单交期确认 Order Acknowledgement of PO
- 基于卷积神经网络和时域金字塔池化的语音情感分析
热门文章
- scratch十字回文诗 少儿编程电子学会图形化编程scratch等级考试四级真题和答案解析2021-3
- java 自定义classloader_编写自定义classloader实现类的动态加载
- 书籍 沉浸室学习方法_沉浸式学习法
- 日语中か行、た行的清辅音不在单词句首时发音的音便现象/浊音化现象
- 【论文精读】基于网络立体数据监督的单目相对深度感知
- 飞思卡尔比赛K60驱动OLED12864显示摄像头采集的赛道图像,完整代码分享
- nagios php升级,3 nagios 使用php绘制趋势图
- codeforces#324(div2) E. Anton and Ira 贪心
- 5G时代必学的WebRTC音视频通话技术
- Win10应用右下角小盾牌怎么解决