狗剩学python:基本概念笔记(二)

二、列表、元组、字符串、字典、集合

这几个都类似数组,但是又有着及其微妙的差别,学着后面就忘了前面,脑袋成了浆糊,有些蛋痛,尝试一下整理、分类、理解

(五)列表

1.列表特征: list=[ ]。
2.增加数据:
增加单个数据:list.append() *列表对象的方法,不属于BIF。
增加多个数据:list.extend([ ])。
增加数据到指定位置:list.insert(位置,数据)。
*增加的数据既可以是数字、字符串也可以是列表、元组、字典、集合。
3.获取数据:list[num]。
4.删除数据:
list.remove(数据):删除的时候不知道数据在哪儿。
list.pop():无参数的时候默认弹出最后一个,有参数的时候弹出指定位置数据,参数是整数。
del list[num] :删除列表中具体数据。
del list 删除整个列表(或变量)。*del是python语句
5.列表切片
list=[1,2,3,4,5]
切片操作:
list2=list[list[1],list[2]] list2=[2,3]
list2=list[1:2] list2=[2,3]
list2=list[1:] list2[2,3,4,5]
list2=list[0:4:2] list2=[1,3,5] *从0位开始到4位,步长2。
list2=list[::-1] list2=[5,4,3,2,1]
del list[::2] list=[2,4] *从0位开始删除,步长为2,到最后。

列表方法如下:

dir(list)
[
'__add__', '__class__', '__contains__', '__delattr__', 
'__delitem__', '__dir__', '__doc__', '__eq__', '__format__', 
'__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', 
'__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__',
 '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', 
 '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', 
 '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', 
 '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 
 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'
 ]

(六)元组

1.元组特征:tuple=(1,)。
2.复制元组可以通过切片 tuple=tuple[:]。
3.无法直接修改、插入、删除元组数据。
*修改、插入、删除元组均需要通过切片、拼接

t = (1,) # 一个元素元组的定义,注意要有个逗号
t = (1,) * 5
t = (1,2,3) * 6

元组方法:

['__add__', '__class__', '__contains__', '__delattr__',
 '__dir__', '__doc__', '__eq__', '__format__', 
 '__ge__', '__getattribute__','__getitem__', '__getnewargs__',
 '__gt__', '__hash__', '__init__','__init_subclass__', 
 '__iter__', '__le__', '__len__', '__lt__', '__mul__',
 '__ne__', '__new__', '__reduce__', '__reduce_ex__', 
'__repr__', '__rmul__', '__setattr__', '__sizeof__', 
'__str__','__subclasshook__', 'count', 'index']

(七)字符串

定义:它是一个有序的字符的集合,用于存储和表示基本的文本信息,‘’或“”或‘’‘ ’‘’中间包含的内容称之为字符串
特性:
1.只能存放一个值
2.不可变
3.按照从左到右的顺序定义字符集合,下标从0开始顺序访问,有序
补充:
  1.字符串的单引号和双引号都无法取消特殊字符的含义,如果想让引号内所有字符均取消特殊意义,在引号前面加r,如name=r’l\thf’
  2.unicode字符串与r连用必需在r前面,如name=ur’l\thf’
2、字符串常用操作

字母处理:
upper() # 全部大写
lower() # 全部小写
swapcase() # 大小写互换
capitalize() # 首字母大写,其余小写
title() # 首字母大写

格式化相关

ljust(width) # 获取固定长度,左对齐,右边不够用空格补齐
rjust(width) # 获取固定长度,右对齐,左边不够用空格补齐
center(width) # 获取固定长度,中间对齐,两边不够用空格补齐
zfill(width) # 获取固定长度,右对齐,左边不足用0补齐

*重难点:formate
“{0} {1} {2}”.format(“a”,“b”,“c”) 可以

“{0} {b} {c}”.format(“a”,“1”,“1”) 不可以
关键字参数要有赋值语句
“{0} {b} {c}”.format(“a”,b=1,c=5) 可以

“{b} {0} {c}”.format(b=1,“a”,c=5) 不可以
位置参数一定要在关键字参数之前

字符串搜索相关
find() # 搜索指定字符串,没有返回-1
index() # 同上,但是找不到会报错
rfind() # 从右边开始查找
count() # 统计指定的字符串出现的次数

*上面所有方法都可以用index代替,不同的是使用index查找不到会抛异常,而find返回-1

字符串替换
replace(‘old’,‘new’) # 替换old为new
replace(‘old’,‘new’,次数) # 替换指定次数的old为new

字符串去空格及去指定字符

strip() # 去两边空格
lstrip() # 去左边空格
rstrip() # 去右边空格
split() # 默认按空格分隔
split(‘指定字符’) # 按指定字符分割字符串为数组

字符串判断相关

startswith(‘start’) # 是否以start开头
endswith(‘end’) # 是否以end结尾
isalnum() # 是否全为字母或数字
isalpha() # 是否全字母
isdigit() # 是否全数字
islower() # 是否全小写
isupper() # 是否全大写
istitle() # 判断首字母是否为大写
isspace() # 判断字符是否为空格

bin() # 十进制数转八进制
hex() # 十进制数转十六进制
range() # 函数:可以生成一个整数序列
type() # 查看数据类型
len() # 计算字符串长度
format() # 格式化字符串,类似%s,传递值能多不能少

python中str函数isdigit、isdecimal、isnumeric的区别

isdigit()
True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字
False: 汉字数字
Error: 无

isdecimal()
True: Unicode数字,,全角数字(双字节)
False: 罗马数字,汉字数字
Error: byte数字(单字节)

isnumeric()
True: Unicode数字,全角数字(双字节),罗马数字,汉字数字
False: 无
Error: byte数字(单字节)

(八)字典

1.字典:即映射。
2.字典的特征:dict={}
3.字典的几种标识方式:
dict1={“godson”:1,“nick”:2,“bill”:3}
dict2=dict(godson=1,nick=2,bill=3)
dict3=dict(((“godson”,1),(“nick”,2),(“bill”,3)))
dict4=(zip([“godson”,“nick”,“bill”],[1,2,3]))
dict5=dict([(“godson”,1),(“nick”,2),(“bill”,3)])
dict6=dict({“godson”:1,“nick”:2,“bill”:3})
*区别于列表、元组,字典不可拼接。

4.字典的内置方法:

'__class__', '__contains__', '__delattr__', '__delitem__',
 '__dir__','__doc__', '__eq__', '__format__',  '__ge__', 
'__getattribute__','__getitem__', '__gt__', '__hash__', 
'__init__', '__init_subclass__','__iter__', '__le__', 
'__len__', '__lt__', '__ne__', '__new__','__reduce__',
 '__reduce_ex__', '__repr__', '__setattr__','__setitem__',
  '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy',
   'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem',
    'setdefault', 'update', 'values'

(九)集合

1.集合的特征:set={1,2,3}
*集合是无序的,也就是说集合会自动去重。
2.集合的两种表示方法:
set1={1,2,3,4,5}
set2=set{[1,2,3,4,5]}
3.集合的相关方法

'__and__', '__class__', '__contains__', '__delattr__', '__dir__', 
'__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', 
'__gt__', '__hash__', '__iand__', '__init__', '__init_subclass__', 
'__ior__', '__isub__', '__iter__', '__ixor__', '__le__', '__len__',
 '__lt__', '__ne__', '__new__', '__or__', '__rand__', '__reduce__', 
 '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', 
 '__setattr__', '__sizeof__', '__str__', '__sub__', 
 '__subclasshook__', '__xor__', 'add', 'clear', 'copy', 'difference',
  'difference_update', 'discard', 'intersection', 
  'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 
  'pop', 'remove', 'symmetric_difference', 
  'symmetric_difference_update', 'union', 'update'

4.不可变集合
set1=frontzenset{1,2,3,4,5}
set.add 失效


*注意,集合、元组、列表可以互相转化

这篇主要梳理数字或者字符串集合问题,感觉学的时候有点儿迷糊,梳理一遍感觉好很多,不当之处欢迎指正~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值