字符串

一:基本使用

1 用途:

记录描述性的状态,比如人的名字、地址、性别

2 定义方式:

在"",'',""""""内包含一系列的字符

msg='hello' #msg=str('hello')
res1=str(1)
res2=str([1,2,3])
print(type(res1),type(res2))
info="'xxx'"

3 常用操作+内置的方法

优先掌握的操作:

1、按索引取值(正向取+反向取) :只能取

msg='hello world'
print(msg[4])
print(msg[-1])
msg[3]='A'
name='egon'

2、切片(顾头不顾尾,步长)

msg='hello-world'  # 就是从一个大的字符串中切分出一个全新的子字符串
print(msg[0:5])#hello
print(msg) #没有改变原值
print(msg[0:5:1])#hello
print(msg[0:5:2]) #hlo
print(msg[5:0:-1])#-olle
print(msg[5::-1])#-olleh
print(msg[-1::-1])#dlrow-olleh
print(msg[::-1])#dlrow-olleh

了解:

3、长度len

msg='hello world'
print(len(msg))

4、成员运算in和not in: 判断一个子字符串是否存在于一个大的字符串中

print('alex' in 'alex is dsb')
print('dsb' in 'alex is dsb')
print('sb' in 'alex is dsb')
print('xxx' not in 'alex is dsb') #推荐
print(not 'xxx' in 'alex is dsb')

5、去掉字符串左右两边的字符strip,不管中间的

user=' egon '
user=' x egon '
user="*******egon********"
user=" **+* */***egon* **-*****"
print(user.strip("* +/-")) user=input('>>>: ').strip()
if user == "egon":
print('用户名正确')

6、切分split:针对按照某种分隔符组织的字符串,可以用split将其切分成列表,进而进行取值

msg="root:123456:0:0::/root:/bin/bash"
res=msg.split(':')
print(res[1]) cmd='dowload|a.txt|3333333'
cmd_name,filename,filesize=cmd.split('|')

7、循环

msg='hello'
for item in msg:
print(item)

需要你掌握的

1、strip,lstrip,rstrip

print('*****egon*****'.lstrip('*'))
print('*****egon*****'.rstrip('*'))
print('*****egon*****'.strip('*'))

2、lower,upper

msg='aABBBBb'
res=msg.lower()
print(res)
print(msg)

3、startswith,endswith

msg='alex is dsb'
print(msg.startswith('alex'))
print(msg.endswith('sb'))
print(msg.endswith('b'))

4、format的三种玩法

print('my name is %s my age is %s' %('egon',18))
print('my name is {name} my age is {age}'.format(age=18,name='egon'))

5、split,rsplit

msg='get|a.txt|333331231'
print(msg.split('|',1))
print(msg.split('|',1))
print(msg.rsplit('|',1))

6、join

msg='get|a.txt|333331231'
l=msg.split('|')
print(l) src_msg='|'.join(l)
print(src_msg)

7、replace

msg='alex say i have one tesla,alex is alex hahaha'
print(msg.replace('alex','sb',1))
print(msg)

8、isdigit 判断字符串中包含的是否为纯数字

print('10.1'.isdigit())
age=input('>>: ').strip()
if age.isdigit():
age=int(age) int('asfdsadfsd')
if age > 30:
print('too big')
elif age < 30:
print('too small')
else:
print('you got it')
else:
print('必须输入数字')

需要了解的内置方法

1、find,rfind,index,rindex,count

msg='hello alex is sb'
print(msg.find('alex'))
print(msg.find('alex',0,3))
print(msg.index('alex'))
print(msg.index('alex',0,3))
msg='alex aaa alex'
print(msg.find('alex'))
print(msg.rfind('alex'))
msg='alex aaa alex'
print(msg.count('alex')) #统计一个子字符串在大字符串中出现的次数

2、center,ljust,rjust,zfill

print('egon'.center(50,'*'))
print('egon'.ljust(50,'*'))
print('egon'.rjust(50,'*'))
print('egon'.zfill(50))

3、expandtabs

print('a\tb'.expandtabs(1))

4、captalize,swapcase,title

print('hello'.capitalize())
print('hElLo'.swapcase())
print('egon is nb'.title())

5、is数字系列
在python3中

num1=b'4' #bytes
num2=u'4' #unicode,python3中无需加u就是unicode
num3='壹' #中文数字
num4='Ⅳ' #罗马数字 #.isnumeric(): unicode,中文数字,罗马数字
print(num2.isnumeric())
print(num3.isnumeric())
print(num4.isnumeric()) #.isdecimal(): unicode
print(num2.isdecimal())
print(num3.isdecimal())
print(num4.isdecimal()) #.isdigit() :bytes,unicode
print(num1.isdigit())
print(num2.isdigit())
print(num3.isdigit())
print(num4.isdigit())

6、is其他

print('abc你'.isalpha()) 字符串中包含的是字母或者中文字符
print('ab'.isalnum())#字符串中包含的是字母(中文字符)或数字
print('123123'.isalnum())
print('ab123'.isalnum())

二:该类型总结

1 存一个值

2 有序

3 不可变

x='abc'
print(id(x))#3075587665512
x='def'
print(id(x))#3075588599968

列表

一:基本使用

1 用途:

存放多个值,可以根据索引存取值

2 定义方式:

在[]内用逗号分割开多个任意类型的值

l=['egon','lxx','yxx'] #  l=list(['egon','lxx','yxx'])
l1=list('hello') #list就相当于调用了一个for循环依次取出'hello'的值放入列表
print(l1)
l2=list({'x':1,'y':2,'z':3})
print(l2)
list(10000) #报错

3 常用操作+内置的方法

优先掌握的操作:

1、按索引存取值(正向存取+反向存取):即可存也可以取

l=['egon','lxx','yxx']
print(l[0])
l[0]='EGON'
print(l)
print(l[-1])
print(l[3])
l[0]='EGON' #只能根据已经存在的索引去改值
l[3]='xxxxxxxx' #如果索引不存在直接报错

2、切片(顾头不顾尾,步长)

l=['egon','lxx','yxx',444,555,66666]
print(l[0:5])
print(l[0:5:2])
print(l[::-1])

3、长度

l=['egon','lxx','yxx',444,555,66666,[1,2,3]]
print(len(l))

4、成员运算in和not in

l=['egon','lxx','yxx',444,555,66666,[1,2,3]]
print('lxx' in l)
print(444 in l)

5、追加

l=['egon','lxx','yxx']
l.append(44444)
l.append(55555)
print(l)

6、往指定索引前插入值

l=['egon','lxx','yxx']
l.insert(0,11111)
print(l)
l.insert(2,2222222)
print(l)

7、删除

l=['egon','lxx','yxx']

#单纯的删除值:
#方式1:
del l[1] #通用的
print(l) #方式2:
res=l.remove('lxx') #指定要删除的值,返回是None
print(l,res) #从列表中拿走一个值
res=l.pop(-1) #按照索引删除值(默认是从末尾删除),返回删除的那个值
print(l,res)

8、循环

l=['egon','lxx','yxx']
for item in l:
print(item)

需要掌握的操作

l=['egon','egon','lxx','yxx',444,555,66666]
print(l.count('egon'))#计算列表中存在几个
print(l.index('egon'))#在列表中查找字符,有就返回索引,没有就报错
print(l.index('yxx',0,1))#在索引0和1中查找
l.clear()
l=['egon','egon','lxx','yxx',444,555,66666]
items='hello'
for item in items:
l.append(item)#从末尾添加
l.extend(items)#将字符分开添加
print(l)
l=['egon','egon','lxx','yxx',444,555,66666]
l.reverse()#将列表翻转
print(l)
nums=[3,-1,9,8,11]
nums.sort(reverse=True)#将列表降序排列/reverse=False升序排列 排序的必须是同一类型
print(nums)

二:该类型总结

1 存多个值

2 有序

3 可变

l=['a','b','c']
print(id(l))#1843850249352
l.append('d')
print(id(l))#1843850249352

队列:先进先出

l=[]
#入队
l.append('first')
l.append('second')
l.append('third')
print(l)
#出队
print(l.pop(0))#first
print(l.pop(0))#second
print(l.pop(0))#third

堆栈:先进后出

l=[]
#入栈
l.append('first')
l.append('second')
l.append('third')
print(l)
#出栈
print(l.pop())#third
print(l.pop())#second
print(l.pop())#first

05-Python入门学习-字符串与列表的内置方法的更多相关文章

  1. Python字符串和列表的内置方法

    一.字符串内置方法 1.strip()  删除开头和结尾的字符串 s.strip(rm) 删除s字符串中开头,结尾处,位于rm删除序列的字符串 s.lstrip(rm) 删除s字符串中开头位于rm删除 ...

  2. python全栈开发从入门到放弃之列表的内置方法

    1.列表切片 l=['a','b','c','d','e','f'] print(l[1:5]) # 根据索引号来切片,但顾头不顾尾 ['b', 'c', 'd', 'e'] print(l[1:5: ...

  3. python入门学习:2.列表简介

    python入门学习:2.列表简介 关键点:列表 2.1 列表是什么2.2 修改.添加和删除元素2.3 组织列表 2.1 列表是什么   列表,是由一系列按特定顺序排列的元素组成.你可以创建包含字母表 ...

  4. 字符串:各种奇葩的内置方法 - 零基础入门学习Python014

    字符串:各种奇葩的内置方法 让编程改变世界 Change the world by program 字符串:各种奇葩的内置方法 或许现在又回过头来谈字符串,有些朋友可能会觉得没必要,也有些朋友会觉得不 ...

  5. 【python基础】第11回 数据类型内置方法 02

    本章内容概要 列表内置方法 字典内置方法 元组内置方法 集合内置方法 可变类型与不可变类型 本章内容详细 1.列表内置方法 list 列表在调用内置方法之后不会产生新的值 1.1 统计列表中的数据值的 ...

  6. Python基础学习参考(三):内置函数

    一:内置函数 在第一篇文章中,我们简单的认识了一下print()函数和input()函数,也就是输入和输出,这些函数我们可以直接的调用,不要自己定义或者引入什么,对吧?想这样的函数就叫做内置函数.这里 ...

  7. 4月17日 python学习总结 反射、object内置方法、元类

    一.反射 下述四个函数是专门用来操作类与对象属性的,如何操作? 通过字符串来操作类与对象的属性,这种操作称为反射 class People: country="China" def ...

  8. 【python基础】第09回 数据类型内置方法 01

    本章内容概要 1.数据类型的内置方法简介 2.整型相关方法 3.浮点型相关方法 4.字符串相关方法 5.列表相关方法 本章内容详情 1.数据类型的内置方法简介 数据类型是用来记录事物状态的,而事物的状 ...

  9. while补充,字符串和数字的内置方法

    一.while循环的补充 while True: name=input('please input your name: ') password=input('please input your pa ...

随机推荐

  1. CNN:Channel与Core的高H、宽W的权值理解

    转自: 知乎问题[能否对卷积神经网络工作原理做一个直观的解释?https://www.zhihu.com/question/39022858]中YJango 的回答; 因总是忘记回答地址,方便以后查阅 ...

  2. platform驱动分离

    目录 platform驱动分离 框架结构 与输入子系统联系 设备描述 驱动算法 注册机制 程序 测试 platform驱动分离 框架结构 与输入子系统联系 设备描述 驱动算法 注册机制 程序 测试 - ...

  3. C++实现递归版二分搜索算法

    无聊撸了一个,没啥技术含量,别吐槽.. #include <iostream> using namespace std; int BinarySearch(int* nums,int ke ...

  4. 一个QQ旋风的BUG

    本人喜欢用QQ旋风下载工具,很不幸的是这个工具BUG太多了. 下载不同COOKIE,相同文件名.URL的文件时候会QQ旋风崩溃. 感兴趣可以试下.

  5. requests.session

    # -*- coding: utf-8 -*- """requests.session~~~~~~~~~~~~~~~~ This module provides a Se ...

  6. Sql server not in优化

    使用EXISTS(或NOT EXISTS)通常将提高查询的效率,由于NOT IN子句将对子查询中的表执行了一个全表遍历. oracle在执行IN子查询过程中,先执行子查询结果放入临时表再进行主查询: ...

  7. Spring系列(六) Spring Web MVC 应用构建分析

    DispatcherServlet DispatcherServlet 是Spring MVC的前端控制器名称, 用户的请求到达这里进行集中处理, 在Spring MVC中, 它的作用是为不同请求匹配 ...

  8. 关于redis服务无法启动问题

    打开cmd终端找到redis安装路径下 输入redis-server redis.windows.conf报错信息如下 之后重新输入redis-cli.exe 运行结果 然后输入 127.0.0.1: ...

  9. laravel5.4 打印输出 sql 语句

    直接打印 sql 语句 DB::connection('test_link')->enableQueryLog(); //执行代码 $log = DB::connection('test_lin ...

  10. 将代码上传版本库gitee

    首先在电脑中安装git,配置好环境变量. 在后台输入命令上传 上传账号的用户名git config --global user.name "" 上传账号的邮箱git config ...