3.20学习内容,字符串与列表

一、字符串类型:

作用:名字,性别,国籍,地址等描述信息

定义:在单引号\双引号\三引号内,由一串字符组成。

需要掌握的方法:

1、strip  去除指定字符
lstrip 去除左边指定字符
rstrip 去除右边指定字符
print('**sss****'.lstrip('*'))
print('**sss****'.rstrip('*'))

2、lower 所有字符全部小写
upper 所有字符全部大写
print('Egon'.lower())
print('egon'.upper())

3、startswith 检查是否以某字符开头
endswith 检查是否以某字符结尾
print('alex is sb'.startswith('alex'))
print('alex is sb'.endswith('sb'))


4、format的三种玩法 关键字参数可以代替格式化里的%s
第一种:{}
s1='my name is %s my age is %s' %('egon',18)
s2='my name is {} my age is {}'.format('egon',18)
s2='my name is {} my age is {}'.format('egon',18,19)
第二种
s2='my name is {0} my age is {1} {1} {1} {0} {1}'.format('egon',18,19)
print(s2)
第三种
s2='my name is {name} my age is {age}'.format(age=18,name='egon')
print(s2)

5、split 以指定字符字符切割为列表
rsplit 从右边以指定字符切割
cmd='get|C:\a.txt|3333'
print(cmd.split('|',1))
print(cmd.rsplit('|',1))

6、join 使用指定字符将列表内的字符连接成一个字符串
cmd='egon:123:admin:rwx'
l=cmd.split(':')
res=''.join(l)
res=':'.join(l)
注意:':'.join([1,2,3]) # join方法传入的列表必须只包含str类型的元素

7、replace 替换:将指定字符替换成另一个字符
msg='wupeiqi say my name is wupeiqi'
print(msg.replace('wupeiqi','SB'))
print(msg.replace('wupeiqi','SB',1))

8、isdigit 判断是否为数字类型
print('10'.isdigit())
示例:
age=10
inp=input('>>: ').strip()
if inp.isdigit():
inp=int(inp)
if inp > age:
print('too big')
else:
print('输入数据非法')

其他操作(了解即可)
1、find 查询指定字符
rfind 从右查询指定咨询
index 检测字符串中是否包含子字符串 str
rindex 从右检测字符串中是否包含子字符串 str
count 用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。
msg='my egon hegon 123'
print(msg.find('sb'))
print(msg.find('egon'))
print(msg.find('egon',8,20))
print(msg.rfind('egon'))

print(msg.index('sb'))
print(msg.index('egon'))

2、center 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格。
ljust 返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
rjust 返回一个原字符串右对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
zfill 返回指定长度的字符串,原字符串右对齐,前面填充0
print('========================egon=======================')
print('egon'.center(50,'*'))
print('egon'.ljust(50,'*'))
print('egon'.rjust(50,'*'))
print('egon'.zfill(50))

3、expandtabs 将字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是 8。
msg='abc\tdef'
print(msg.expandtabs(3))

4、captalize 将字符串的第一个字母变成大写,其他字母变小写
swapcase 将字符串的大小写字母进行转换
title() 返回"标题化"的字符串,就是说所有单词都是以大写开始
print('abeCdEF'.capitalize())
print('abeCdEF'.swapcase())
print('my name is egon'.title())

5、is数字系列 总结最常用的是 .isdigit() 就足以满足日常需求,如果有关钱的使用 .isnumeric() 命令。
num1=b'4' #bytes
num2=u'4' #unicode,python3中无需加u就是unicode
num3=u'肆' #中文数字
num4=u'Ⅳ' #罗马数字

isdigit():bytes,unicode的阿拉伯数字
print(num1.isdigit())
print(num2.isdigit())
print(num3.isdigit())
print(num4.isdigit())

isdecimal():unicode的阿拉伯数字
print(num2.isdecimal())
print(num3.isdecimal())
print(num4.isdecimal())

isnumberic:unicode的阿拉伯数字\中文数字\罗马数字
print(num2.isnumeric())
print(num3.isnumeric())
print(num4.isnumeric())

6、is其他
print('asdfasdfasdfaAsfd'.isalpha()) #字符全由字母组成

print('asdf'.isalnum()) #字符由字母或数字组成
print('I Am Egon'.isnumeric())
print(' '.isspace())
print('print'.isidentifier())



总结字符串类型:

1 存一个值
只能存一个值

2 有序or无序
有序

3 可变or不可变
!!!不可变:值变,id就变。不可变==可hash

列表类型

一:基本使用
1 用途:存放多个值

2 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制
l=['a','b','c'] #l=list(['a','b','c'])
l1=list('hello')
print(l1)

3 常用操作+内置的方法
优先掌握的操作:
1、按索引存取值(正向存取+反向存取):即可改也可以取
l=['a','b','c']
print(id(l))
print(l[-1])
l[0]='A'
print(id(l))
print(l)
l[3]='d' # 报错

2、切片(顾头不顾尾,步长)
stus=['alex','egon','wxx','yxx','lxx']
print(stus[1:3])

3、长度
stus=['alex','egon','wxx','yxx','lxx']
print(len(stus))

4、成员运算in和not in
stus=['alex','egon','wxx','yxx','lxx']
print('alex' in stus)

5、追加
stus=['alex','egon','wxx','yxx','lxx']
stus.append('wupei')
stus.append('peiqi')
print(stus)
插入
stus=['alex','egon','wxx','yxx','lxx']
stus.insert(1,'艾利克斯')
print(stus)

6、删除
stus=['alex','egon','wxx','yxx','lxx']
del stus[1]
print(stus)
stus.remove('alex')
print(stus)

stus.pop(1)
stus.pop() # 默认删除末尾
print(stus)

res1=stus.remove('alex') # 单纯的删除
print(res1)
res2=stus.pop(0) # 取走一个值
print(res2)

7、循环
stus=['alex','egon','wxx','yxx','lxx']
依赖索引
i=0
while i < len(stus):
print(stus[i])
i+=1

for i in range(len(stus)):
print(i,stus[i])

不依赖索引
for item in stus:
print(item)


补充for循环
for i in range(0,5,2): #0 2 4
print(i)
for i in range(10):#默认从零起始
print(i)

for i in range(10,-2,-1):
print(i)


需要掌握的操作
stus=['alex','egon','alex','wxx','yxx','lxx']
print(len(stus)) # stus.__len__()

print(stus.count('alex'))
stus.extend(['a','b','c'])
print(stus)
stus.append(['a','b','c'])
print(stus)


print(stus.index('alex',1,5))

stus.reverse()
print(stus)

l=[1,10,3,12]
l.sort(reverse=True)
print(l)


大前提:只能同类型直接比较大小,对于有索引值直接的比较是按照位置一一对应进行比较的
s1='hello'
s2='hf'
print(s1 > s2)

l1=[3,'a','b','c']
l2=['xxx','d']
print(l1 > l2)


英文单词大小定义:
print('Z' > 'a')
A-Za-z
print('a' > 'B')


 

转载于:https://www.cnblogs.com/yangwei666/p/8611404.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/283831.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

客户端应用试用限制设计

1.概要最近接到公司安排的任务给客户端设计一个“试用30天”的一个需求&#xff0c;其功能主要是为了防止客户拿到产品之后不支付尾款继续使用。众所周知靠纯软件想防“盗版”&#xff0c;“限制试用”等做法是行业难题。只要价值足够高一定有人会破解绕过你的所有防线达到免费…

【开发工具之Spring Tool Suite】6、用Spring Tool Suite简化你的开发

如果你是一个喜欢用spring的人&#xff0c;你可能会在欣赏spring的强大功能外&#xff0c;对其各样的配置比较郁闷&#xff0c;尤其是相差较大的版本在配置文件方面会存在差异&#xff0c;当然你可以去花不少的时间去网上查找相关的资料&#xff0c;当你准备使用更高版本spring…

康威定律,作为架构师还不会灵活运用?

Soft skills are always hard than hard skills. 软技能比硬技能难。 老板听说最近流行“微服务”&#xff0c;问架构师咱们的系统要不要来一套&#xff1f;老板又听说最近流行“中台系统”&#xff0c;问架构师咱们要不要搞起来&#xff1f;其实&#xff0c;这些问题不用老板问…

使用onclick跳转到其他页面。使用button跳转到指定url

1. οnclick"javascript:window.location.hrefaa.htm" 2. οnclick"locationURL"3,。 οnclick"window.location.href?id11"转载于:https://www.cnblogs.com/wujixing/p/5856087.html

Avalonia Beta 1对WPF做了很多改进

\看新闻很累&#xff1f;看技术新闻更累&#xff1f;试试下载InfoQ手机客户端&#xff0c;每天上下班路上听新闻&#xff0c;有趣还有料&#xff01;\\\Avalonia将自己定义为“基于WPF&#xff08;使用XAML、数据绑定以及lookless控件等&#xff09;的跨平台.NET UI框架。”在第…

WebView2 通过 PuppeteerSharp 实现RPA获取壁纸 (案例版)

此案例是《.Net WebView2 项目&#xff0c;实现 嵌入 WEB 页面 Chromium内核》文的续集。主要是针对WebView2的一些微软自己封装的不熟悉的API&#xff0c;有一些人已经对 PuppeteerSharp很熟悉了&#xff0c;那么&#xff0c;直接用 PuppeteerSharp的话&#xff0c;那就降低了…

[转]2022 年 Java 行业分析报告

你好&#xff0c;我是看山。 前段时间介绍了从 Java8 到 Java17 每个版本比较有特点的新特性&#xff08;收录在 从小工到专家的 Java 进阶之旅 专栏&#xff09;&#xff0c;今天看到 JRebel 发布了《2022 年 Java 发展趋势和分析》&#xff0c;于是借此分析一下 Java 行业的现…

Mysql 数据库学习笔记03 存储过程

一、存储过程&#xff1a;如下 通过 out 、inout 将结果输出&#xff0c;可以输出多个值。 * 调用存储过程&#xff1a; call 存储名称&#xff08;参数1&#xff0c;参数2&#xff0c;...&#xff09;; 如指定参数不符合要求&#xff0c;返回 Empty Set * 查询存储过…

android 代码混淆模板

#指定代码的压缩级别 -optimizationpasses 5 #包明不混合大小写 -dontusemixedcaseclassnames #不去忽略非公共的库类 -dontskipnonpubliclibraryclasses#优化 不优化输入的类文件 -dontoptimize#预校验 -dontpreverify#混淆时是否记录日志 -verbose# 混淆时所采用的算法 -opt…

vue+vuecli+webapck2实现多页面应用

准备工作 在本地用vue-cli新建一个项目&#xff0c;首先安装vue-cil&#xff0c;命令&#xff1a; npm install -g vue-cli 新建一个vue项目,创建一个基于"webpack"的项目,项目名为vuedemo&#xff1a; vue init webpack vuedemo 这里有一个地方需要改一下&#xff0…

一文把Docker、Kubernetes搞懂:什么是Docker?什么是Kubernetes?Docker和Kubernetes有什么关系和区别?通俗解释Docker、Kubernetes

一、Docker解决的问题 1、统一标准 ● 应用构建 ○ Java、C、JavaScript——编程各异 ○ 打成软件包 ○ .exe&#xff08;类似Windows&#xff0c;最终也只是生产exe执行&#xff09; ○ 使用docker build … 打包成 镜像——这就类似于exe ● 应用分享 ○ 所有软件的镜像放到一…

Python-高阶函数

#encodingUTF-8import sys # 高阶函数高阶函数实际上是参数可接受函数的函数即参数为函数的函数 # map()map()接收两个参数&#xff0c;一个是函数&#xff0c;一个是序列&#xff0c;将此函数分别作用于该序列的每个元素&#xff0c;返回处理后的序列结果def c2(x): return x…

程序员双手飞快敲键盘的时候是在敲代码吗?

当你看到一个程序员的两只手在键盘上上下翻飞&#xff0c;行云流水的时候&#xff0c;多半不是在敲击代码大概率是在跟产品经理撕逼讨论需求另一种可能就是在跟测试打口水仗10%几率是在论坛码字摸鱼或者和人家开喷了。1%几率是在跟MM聊天可以手速飞快而不需要停下思考的代码&am…

erlang-17版本的编码方式

最近在腾讯云租了个云主机&#xff1a;镜像提供方&#xff1a;选择服务市场 &#xff1a;多语言环境&#xff08;Centos 7.0 64位 Python Perl Ruby Erlang &#xff09; 他们集成软件安装的是erlang-17版本&#xff0c;我之前用erlang-16版本一直没遇到什么问题&#xff1b; 这…

几分钟上线一个网站 真是神器

1、ToolJet 简介 ToolJet 是一个开源的低代码框架&#xff0c;可以快速构建和部署内部工具&#xff0c;而无需工程团队付出太多努力。您可以连接到您的数据源&#xff0c;例如数据库&#xff08;如 PostgreSQL、MongoDB、Elasticsearch 等&#xff09;、API 端点&#xff08;To…

翻译:用户变量(User-Defined Variable)(已提交到MariaDB官方手册)

本文为mariadb官方手册&#xff1a;User-Defined Variables的译文。 原文&#xff1a;https://mariadb.com/kb/en/user-defined-variables/我提交到MariaDB官方手册的译文&#xff1a;https://mariadb.com/kb/zh-cn/user-defined-variables/ 用户变量是指由用户创建&#xff0…

移植Python3到TQ2440(一)

平台 硬件&#xff1a;TQ2440 64MB内存 256MB NandFlashbootloader&#xff1a;U-Boot 2015.04kernel&#xff1a;linux-4.9Python: Python-3.6.0工具链&#xff1a;arm-none-linux-gnueabi-gcc 4.8.3概述 现在树莓派很火&#xff0c;在树莓派上面用户可以通过Python来控制板…

WinForm(六)组合布局属性

WinForm是基于控件的&#xff0c;不像codemark的架构&#xff0c;可以非常灵活的用mark来布局&#xff0c;它只能用控件布局属性和窗口控件来完成对UI的布局。容器控件有一组控件叫容器控件&#xff0c;对布局特别有作用&#xff0c;它们分别是&#xff1a;TableLayoutPanel&am…

Qt 网络编程

QT 网络编程 TCP 编程 模块引入 QT network 头文件 #include <QTcpServer> // TCP服务器端使用 #include <QTcpSocket> // TCP服务器和客户端都使用 编程流程 服务端 1&#xff09;实例化 QTcpServer 对象 -----------------------------> socket 2&#x…

HDU 5037 Frog(2014年北京网络赛 F 贪心)

开始就觉得有思路&#xff0c;结果越敲越麻烦。。。   题意很简单&#xff0c;就是说一个青蛙从0点跳到m点&#xff0c;最多可以跳l的长度&#xff0c;原有石头n个&#xff08;都仅表示一个点&#xff09;。但是可能跳不过去&#xff0c;所以你是上帝&#xff0c;可以随便在哪…