Python实训day02am【列表、字符串、字符集】
- Python实训-15天-博客汇总表
目录
1、列表
2、字符串
3、字符集
4、练习题
基础提升(常用操作):
- list集合操作 (切片)
- str字符串操作
- dict字典操作
- 函数的定义
对照java,回顾java中的内容(java的基本功增强)
1、列表
# list 切片
# 从list中截取某一部分
a = [1, 2, 3, 4, 5, 6, 7, 8];print(a[1:3]); # [2, 3] 包头不包尾,从下标1截取到下标3
print(a[1:]); # [2, 3, 4, 5, 6, 7, 8] 截取到最后【去掉第一个元素】
print(a[:-1]); # [1, 2, 3, 4, 5, 6, 7] 从头,截取到最后一个,但是不包含最后一个【去掉最后一个元素】
print(a[1:-1]); # [2, 3, 4, 5, 6, 7] 去头尾
print(a[:]); # [1, 2, 3, 4, 5, 6, 7, 8] 一份拷贝,相当于a.copy()# 从后向前切,[87654321]
print(a[-1:1]) # [] 空,不支持这样写来从后向前切的
print(a[-1:1:-1]) # [8, 7, 6, 5, 4, 3] 三个位置,最后一个弄一个负数,表示从后往前切
print(a[::-1]); # [8, 7, 6, 5, 4, 3, 2, 1] 实现倒序
print(a[::-2]); # [8, 6, 4, 2],语法很灵活
print(a[::2]); # [1, 3, 5, 7]
2、字符串
问,Java中的List或Array有没有截取呢?
#List有,subList,从某个位置截取到另一个位置
ls.subList(0,3); 截取0-3
#Array有,copyOf,从头截取,截取n个长度
Arrays.copyOf(sa,10); 截取sa的前10个元素
# 字符串也有切片,截取字符串的某个部分,使用和list是一样的。s = "123456789abcdefg";
print(s[1:3]) # 23
print(s[1:-1]) # 23456789abcdef
print(s[-1:1:-1]) # gfedcba9876543
print(s[:-1]) # 123456789abcdef
print(s[1:]) # 23456789abcdefg
#java中的字符串有截取吗?
s.substring(1); #从1到末尾
s.substring(1,10); #从1到10,不包含10
#js中字符串有截取吗?有:substr、substring。(基本功是否扎实)对照java,字符串会有:截取、替换、分割、大小写转换、查找、去空格等操作,我们可以通过dir函数,来看有哪些函数可以调用,对照功能即可。
print(dir(""))
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
a = "abcdefg 123456"
print(a.capitalize()) # Abcdefg 123456
print(a.center(66)); # abcdefg 123456
#小尝试自己完成
3、字符集
# 切片截取
# 分割
a = "abcdefg 123456"
b = a.split(" "); # 使用空格分割
print(b) # ['abcdefg', '123456']# c = a.split(""); # python不支持,报错
# java: ["a","b","c","d"......"5","6"]
# print(c)
# python
# 内置函数list,将字符串转为list
c = list(a);
print(c) # ['a', 'b', 'c', 'd', 'e', 'f', 'g', ' ', '1', '2', '3', '4', '5', '6']# 计数
print(a.count("a")); # 1# 编码 encode
a = "我";
e1 = a.encode(); # 将a,通过默认编码(utf-8)后,得到的字节序列
print(e1); # b'\xe6\x88\x91'# byte:字节; 整体为一个字节序列
# 1个汉字,通过utf-8编码后,得到3个字节
e2 = a.encode('gbk'); # 将a,通过gbk后,得到的字节序列
print(e2); # b'\xce\xd2'
# 一个汉字通过gbk编码,得到两个字节
acsii码 ----》ISO8859-1 单字节 (8位),只支持256个字符
GBK码表---》GBK编码---》1字节(ascii中的英文字符)或 两字节 (中日韩的文字) 2w+
Unicode码表----》utf-8编码 ---》变长(1-6字节不等) (英文字符1个字节,汉字大多是3个字节) 14w+ (应用最广泛,utf-8)编码有什么作用?
计算机只能存数字(0,1这样的二进制),那么对于文字语言符号等这些内容,该如何在计算机中表示呢编码/码表 !
文字符号《-----码表-----》数字
通过码表,就可以完成数字和文字符号的互相转换文字符号---编码/encode----》数字
文字符号《------解码/decode---------数字当我们存数据、传输数据时,都需要将字符通过编码转换成数字,才能进行传输;
读取数据,或接收数据时,再通过解码,还原展示原本的文字符号(观察一个txt文本文档的占用空间)
uf = b'\xe6\x88\x91'
gb = b'\xce\xd2';print(uf.decode());# 默认utf-8解码 我
print(gb.decode('gbk')) # 我
java中有没有类似的encode和decode的转换?
字符串--getBytes(编码)-->字节
字节---new String(数组,编码)--->字符串
字符串和数字互相转换
-java字符串和数字不能直接转,需要通过插入,
数字---char---string
(参照的是unicode码表)
String str = "";
Random r = new Random();
for(int i=0;i<10;i++) {
str = str+ (char)(r.nextInt(26)+65);
}
System.out.println(str);
-python没有char类型,单个字符串,就好像表示char一样
有两个内置函数可以使用
(参照的是unicode码表)
chr :数字---》字符
ord:字符-》数字
4、练习题
# 请生成长度为10的字符串,内容为随机的26个字母(A-Z)
import randoms = "";
for i in range(10):
s = s + chr(random.randint(65, 90));print(s);
习题1:
#生成100次0~9范围的整数
#将这些数字合并成一个大的字符串,打印出来
#统计这些数字中,每个数字出现多少次(例如,有几个0,几个1,几个2。。。。),打印出来
#找出出现次数最多的是哪个数字。import random
s = "";
time = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
for i in range(100):
number = random.randint(0, 9);
time[number] += 1;
s += str(number);
print("数字0-9出现的次数分别为:", end="")
for i in time:
print(i, end="、")
print("\n" + s)
习题2:打印emoji字符表。
for i in range(0x1f600, 0x1f64f):
print(chr(i), i, end=" ")
if i % 10 == 0:
print()
Python实训day02am【列表、字符串、字符集】相关推荐
- Python实训-15天-博客汇总表
目录 1.课程安排 1.1.课程介绍 1.2.课程目标 2.课件 2.1.课件and录屏 2.2.练习and案例and作业 3.实训博客笔记 第1周-week1 day01 day02 day03 d ...
- Python实训day03pm【列表生成式、非文本文件的读写与复制、文本文件读写练习】
Python实训-15天-博客汇总表 目录 1.列表生成式 2.列表的嵌套 2.1.习题1 2.2.习题2 3.非文本文件的读写 3.1.读取文件的大小 3.2.复制文件 4.课堂练习 列表生成式 非 ...
- Python实训day01pm【练习题、文件编写、列表的使用】
Python实训-15天-博客汇总表 目录 Jupyter中文用户名导致无法运行的问题 练习题 练习1 练习2 Python文件编写注意事项 Python列表 list:有序列表 Jupyter中文用 ...
- Python实训day12am【网络爬虫大作业简略解析:动态生成html页面、数据写入Excel】
Python实训-15天-博客汇总表 目录 1.HTML页面设计 2.生成每个城市的HTML页面 2.1.HTML页面代码(weatherTemplate.html) 2.2.实例代码-动态生成htm ...
- Python实训day09am【Pandas、Series、DataFrame数据帧】
Python实训-15天-博客汇总表 目录 1.Pandas 1.1.安装Pandas库 1.2.两种数据对象 2.一列数据Series 2.1.获取Series与数据个数 2.2.切片-loc-il ...
- Python实训day03am【sort、函数式编程、过滤器、lambda、文本文件读写】
Python实训-15天-博客汇总表 目录 1.字典练习题 2.排序sort 2.1.Java中的sort 2.2.sort与lambda 3.函数式编程与过滤器filter 4.Java中的lamb ...
- python实训day1
今日作业: name=' aleX' print(name) print(name.strip()) print(name.startswith('al')) print(name.endswith( ...
- 初学Python实训心得以及一个爬虫例子
了解Python,学会Python,实战python 通过这次Python实训,我收获了很多,一方面学习到了许多以前没学过的专业知识与知识的应用,另一方面还提高了自我动手做项目的潜力.本次实训是对我潜 ...
- Python实训day14pm【Python网络爬虫综合大作业-参考解析】
Python实训-15天-博客汇总表 题目:天气数据的爬取和统计 大作业题目思路引导:定时爬取每个地级市的实时天气状况.存入excel中.为每个城市生成html展示.历史excel文件以每日为单位归档 ...
最新文章
- java int类源码,一起学JDK源码 -- Integer类
- Atitit 桌面软件跨平台gui解决方案 javafx webview
- IOS开发之UI基础LOL英雄展示-15
- nutshell_Nutshell中的Java 8语言功能-第1部分
- idea查询类_Spring Security入门(三): 基于自定义数据库查询的认证实战
- [转]VirtualBox安装CentOS7
- CentOS 6.5下安装Docker
- OpenDDS架构说明
- opencv实现人脸识别中过曝光人脸图片处理
- Android自定义View里面获取宽高及dp和px间的转换
- JBX IDE中文输入
- nodejs调用阿里云盾身份证二要素验证
- 【How2RE】 UPX壳及脱壳方式
- 计算机学校校歌,【2018十大最受欢迎高校校歌】_最受欢迎的十大高校校歌
- 地震周边地区的摇篮生活和地震综合症
- 期望、方差、标准差、协方差、相关系数、协方差矩阵、残差、残差平方和(SSE)、标准化残差,残差分析
- Qt与脚本初探:QtScript, PyQt, PythonQt, Qt Jambi
- 趣小面,陆正耀的另一副底牌
- tf.Variable() 和 tf.get_variable(),tf.name_scope() 和 tf.variable_scope()
- 阿里云对象存储oss多少钱?
热门文章
- fckeditor 漏洞php,fckeditor上传漏洞利用总结
- c++ 函数过长 拆分_实用EXECL办公函数 【多条件排名】
- c语言中的fock方法输出hello,涉及fork()的C程序输出的说明
- oss图片上传api_交互式核保系统:api明细:图片上传oss接口
- curl 慢 不稳定_Node.js VM 不完全指北
- php隐藏表单提交表单提交表单_表单提交及php处理表单数据的实例
- 二十二、 深入Python的进程和线程(上篇)
- 三十六、Scrapy 中的复写默认管道和Rule扩展
- ICLR 2022 | 香侬科技提出基于图神经网络的语义理解模型,获单项满分
- 送书福利 | 浙江大学陈华钧教授新作,全面梳理知识图谱技术体系