一、Python字符串练习

1.http://news.gzcc.cn/html/2017/xiaoyuanxinwen_1027/8443.html

取得校园新闻的编号.

(这个方法就很多了,一般方法二和方法三用得比较多一点)

# 定义字符串
s = "http://news.gzcc.cn/html/2017/xiaoyuanxinwen_1027/8443.html"
# 方法一 直接获取
print(s[-14:-5])
#方法二 利用rstrip
ss = s.rstrip(".html")[-9:]
print(ss)
#方法三 利用rstrip和split
sss = s.rstrip(".html").split("_")
print(sss[1])

2.https://docs.python.org/3/library/turtle.html

产生python文档的网址。

(这个数组可以通过加法进行结合)

# 数组一
add1 = "https://docs.python.org/3/library/turtle"
#数组二
add2 = ".html"
s = add1 + add2
print(s)

3.http://news.gzcc.cn/html/xiaoyuanxinwen/4.html

产生校园新闻的一系列新闻页网址。

(一系列的新闻信息,一般仅仅会变化数字,那么这就是我们可以通过for循环进行爬数据出来,format比较常用)

#定义一个变量i
i=1
#通过for循环,还有常用的format进行输出
for i in range(6):
print("http://news.gzcc.cn/html/xiaoyuanxinwen/{}.html".format(i))

4.练习字符串内建函数:strip,lstrip,rstrip,split,count

"  http://news.gzcc.cn/html/xiaoyuanxinwen/4.html"

(先定义一个字符串s)

s = "  http://news.gzcc.cn/html/xiaoyuanxinwen/4.html"

A.删去前空格

ss = s.strip(" ")

B.删去http://前缀

ssl = ss.lstrip("http://")

C.删去后缀“.html”并且输出数字

ssr = ss.rstrip(".html")[-1:]

D.显示出这一段有多少个n

sscount = s.count("n")

 E.将以“/”分隔成多个单词

ssp = s.split("/")

 最后通过print输出就可以看到结果啦!

print(ss)
print(ssl)
print(ssr)
print(ssp)
print(sscount)

二、组合数据类型练习

1.分别定义字符串,列表,元组,字典,集合,并进行遍历。

A.定义字符串

s = "Hello World !"
print(s)

B.定义列表

s = ["aaa","bbb",[1,2,3]]
for i in s :
print(i)

C.定义元祖

#定义一个列表
s = ["aaa","bbb",[1,2,3]]
#定义元祖
tup = tuple(s)
#遍历元祖
for i in tup :
print(i)
#由下面可知,元祖里面的儿子如果是列表,则列表里面可以修改,否则元祖是无法修改的
tup[-1][1] = 0
for i in tup :
print(i)
tup[0][0] = "aaa"
for i in tup :
print(i)

D.定义字典

#生成字典
dird = {'Micheal':23,'Marry':22,'Jany':43}
#获取键“Micheal”值对,应该是23
print(dird["Micheal"])

E.定义集合

s1 = {1,3,5,7,9}
s2 = {1,2,3,5}
#获取s1、s2的相同部分
s = s1&s2
print(s)

  

2.总结列表,元组,字典,集合的联系与区别。

A.列表的特点是用方括号,列表内的值可以进行修改,可以用于一些需要经常改变的数值;

B.元祖的特点是用园括号内部的值是无法进行修改的,所以可以用于一些无法进行修改的数值,但是如果元祖内部有列表的子序列,那么列表内就可以 进行修改;

C.字典的特点是用大括号,但是对于列表和元祖的特点是键值对(key—value),但是不同于它们的是,key值是不能够修改的,所以对于一些用户名或者不可更改的值,可以用这个类型,密码可以随时修改,即value值。

D.集合也就是一组key的集合,但是不存储value,统同样和字典一样用大括号进行表示。

那么今天的字符串练习就到此结束了。

Python字符串、组合数据类型练习的更多相关文章

  1. python的组合数据类型及其内置方法说明

    python中,数据结构是通过某种方式(例如对元素进行编号),组织在一起数据结构的集合. python常用的组合数据类型有:序列类型,集合类型和映射类型 在序列类型中,又可以分为列表和元组,字符串也属 ...

  2. Python的组合数据类型

    """ Python的组合类型: 序列类型:元素之间存在先后关系,可以通过索引来访问 列表: 元组: 字符串: 映射类型:用键值来表示数据 字典: 集合类型:元素是无序的 ...

  3. 【Python】组合数据类型

    集合类型 集合类型定义 集合是多个元素的无序组合 集合类型与数学中的集合概念一致 集合元素之间无序,每个元素唯一,不存在相同元素 集合元素不可更改,不能是可变数据类型 理解:因为集合类型不重复,所以不 ...

  4. python字符串列表元组序列操作

    Table of Contents generated with DocToc python系列-字符串.列表.元组的操作 序列的访问及运算符 序列通用操作 访问单个元素 切片访问一部分元素 序列的复 ...

  5. 第一节 Python基础之数据类型(整型,布尔值,字符串)

    数据类型是每一种语言的基础,就比如说一支笔,它的墨有可能是红色,有可能是黑色,也有可能是黄色等等,这不同的颜色就会被人用在不同的场景.Python中的数据类型也是一样,比如说我们要描述一个人的年龄:小 ...

  6. Python Revisited Day 03 (组合数据类型)

    目录 第三章 组合数据类型 3.1 序列类型 3.1.1 元组 3.1.2 命名的元组 (collections.nametuple()) 3.1.3 列表 (查询有关函数点这) 3.1.4 列表内涵 ...

  7. Python学习笔记(六)Python组合数据类型

    在之前我们学会了数字类型,包括整数类型.浮点类型和复数类型,这些类型仅能表示一个数据,这种表示单一数据的类型称为基本数据类型.然而,实际计算中却存在大量同时处理多个数据的情况,这种需要将多个数据有效组 ...

  8. python组合数据类型和数据结构

    //2019.12-071.pyhton里面组合数据类型主要有三种:集合(set).序列(字符串str.列表list and 元组tuple)和映射(字典dic)2.集合类型一般使用大括号{}来进行表 ...

  9. Python基础篇(四)_组合数据类型的基本概念

    Python基础篇——组合数据类型的基本概念 集合类型:元素的集合,元素之间无序 序列类型:是一个元素向量,元素之间存在先后关系,通过序号进行访问,没有排他性,具体包括字符串类型.元组类型.列表类型 ...

随机推荐

  1. Java堆大小[z]

    JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制:系统的可用虚拟内存限制:系统的可用物理内存限制. 32位系统下,一般限制在1.5G~2G:64为操作系统对内存 ...

  2. C# 后台服务 web.config 中 项“ConnectionString”已添加。问题

    是自己在一网站下建了虚拟目录.原本网站为空,后来自己改了路径,有了默认配置很久后打开原本ok的虚拟目录,坑爹了.杯具了.代码:ConfigurationManager.ConnectionString ...

  3. 利用Spring的AbstractRoutingDataSource解决多数据源的问题【代码手动切换,非AOP】

    转: 利用Spring的AbstractRoutingDataSource解决多数据源的问题 多数据源问题很常见,例如读写分离数据库配置. 原来的项目出现了新需求,局方要求新增某服务器用以提供某代码, ...

  4. PyQt5中QTableWidget设置列宽大小的几种方式

    我们在使用QTableWidget的时候,经常会出现列宽大小和我们想象不一致的情况,如下图: 内容不能完全显示,需要手动调整列宽才能显示完全. 还有如下图: 因此需要我们擅于调整列宽为我们所使用,现将 ...

  5. 初识消息中间件之 ==> ActiveMQ

    一.消息队列概述 消息(Message)是指在应用间传送的数据.消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象. 消息队列(Message Queue)是一种应用间的通信方式, ...

  6. Java数组(3):创建测试数据

    有时我们需要使用数组批量创建测试数据,接下来通过以下4点来举例. (1) 使用Arrays.fill()填充数据 (2) 使用Random类中JDK1.8提供的新方法用来生成随机数 (3) 一个随机数 ...

  7. java 与 c# 3des 加解密

    java 与 c# 3des 加解密   主要差异如下: 1.  对于待加密解密的数据,各自的填充模式不一样 C#的模式有:ANSIX923.ISO10126.None.PKCS7.Zero,而Jav ...

  8. 【笔记】Docker入门

    这个文章讲的比较透彻,就不复制粘贴了 <Docker从入门到实践>阅读笔记 Docker安装 环境 root@fudonghai:~# uname -a Linux fudonghai - ...

  9. vue中 key 值的作用

    原文地址 我们知道,vue和react都实现了一套虚拟DOM,使我们可以不直接操作DOM元素,只操作数据便可以重新渲染页面.而隐藏在背后的原理便是其高效的Diff算法. vue和react的虚拟DOM ...

  10. CAN总线多节点通信异常分析及解决

    一.CAN物理层特征 CAN收发器的作用是负责逻辑电平和信号电平之间的转换.即从CAN控制芯片输出逻辑电平到CAN收发器,然后经过CAN收发器内部转换将逻辑电平转换为差分信号输出到CAN总线上,CAN ...