5-21python数据类型

1、字符串,是不可变数据类型,全部字符串的方法都不会修改字符串的值,使用字符串的方法后都是生成了一个新的字符串。就由于字符串是不可变变量!git

字符串的方法数据库

一、 strip(),默认去空格,可是当()中有某个字符串的话,意思就是去掉前面字符串中的某个字符串数组

例如:字符串名字xx.strip()app

print('lalahi zhangyizhoulala'.strip('lala'))
可是要注意这个方法只是去掉字符串两头的指定东西,若是字符串中间有指定的lala时则不会生效

二、None,表明空,什么都没有,但不是空字符串spa

三、in,表明xx在A里orm

例如:对象

name = 'chuandan beizhao sijiantao'排序

print('sijiantao' in name)索引

返回结果是布尔值t或fip

四、is,判断是不是同一块内存地址

例如:

a1 = ['a','b','c']
a2 = ['a','b','c']
print(id(a1))
print(id(a2))
print(a1 is a2)

返回结果是布尔值t或f

五、 字符串的下标

经过字符串的下标取其第几位的值

如:

print(name[3])

六、是否以x结尾,例如

name = 'hello zhangyizhou'
print(name.endswith('h'))
返回false

7,find()查找字符串的索引,例如

name = 'hi zhangyizhou'
print(name.find('y',2,10))
返回位置的数字,若是返回-1表明没找到

2和10表明开始查找的位置和结束的位置,能够都不写,也能够只写开始的位置
八、isdigit()字符串是不是数字,例如
name = 'hi zhangyizhou'
print(name.isdigit())
返回布尔值

九、将字符串中变成大/小写,变成大写upper(),变成小写lower(),例如
name = 'hi zhangyiZHou'
print(name.lower()) 变成小写
print(name.upper()) 变成大写

十、join()拼接字符串,join后面必须是可迭代的对象,好比字符串或者列表之类的,例如
name = ['hi','zhangyiZHou']
print('用这个链接'.join(name))
 join前面想写啥写啥,意思是用‘用这个链接’这几个字将前面的东西和name里的东西拼成一个字符串,也能够写星号之类的。若是以上例子当中name的类型是字符串的话,运行的结果是链接符+hi,链接符+zhangyizhou

十一、替换字符串replace()
例如:print('zhangyizhou is mm,zhangyizhou is nvde,zhangyizhou loveu'.replace('zhangyizhou','tihuandiao')),3个zhangyizhou都被替换成tihuandiao了
在要替换的字符串后面也能够加数字,表明着要替换几回
例如:
print('zhangyizhou is mm,zhangyizhou is nvde,zhangyizhou loveu'.replace('zhangyizhou','tihuandiao',1)),只替换第一个zhangyizhou

十二、分割字符串,分割后返回一个列表,例如
char = 'zyz&yiso&zhrrt&namr2'
print(char.split('&'))
将char以&这个符号分割成一个新的列表


 字符串必须会的方法

大小写字母+数字,随机生成验证码

Find,查找字符串

Format() 格式化字符串

Isalnum() 是否包含数字和字母

Isdigit() 是不是数字

Lower() 变成小写字母

Upper()变成大写字母

Join() 拼接字符串

Strip() 去空格,istrip()   rstrip()去左边空格和去右边空格

Replace()替换字符串中的指定字符串

Split()分隔字符串



2、列表

一、列表中增长元素

方法append,insert

append是在列表的末尾增长

insert是在指定位置增长

例如:

name = ['name1','name2','name3']

name.append('zhangyihzou')  

print(name)

name.insert(1,'yiso')

print(name)

二、列表的删除

方法pop(),不指定元素的时候删除列表最后一个元素,且该方法可以返回被删除的值

例如:

name = ['name1','name2','name3']
name.insert(1,'yiso')
name.pop()
print(name)
返回经过pop删除的值
例如:
name = ['name1','name2','name3']
name.insert(1,'yiso')
name.pop()
print(name)
print('pop删的是:',name.pop())

方法pop(n),指定元素的x下标删除列表中指定位置的元素

例如:

name = ['name1','name2','name3']
name.insert(1,'yiso')
name.pop(1)
print(name)

方法clear(),清空列表

例如:

name = ['name1','name2','name3']
print('before的值:',name)
name.clear()
print('after的值:',name)

方法del[n],指定元素的x下标删除列表中指定位置的元素,且指定的下标必须存在,也能够用del方法删除整个列表,如del name

例如:

name = ['name1','name2','name3']
del name[1]
print(name)

方法remove(),删除列表中某个值,括号中必须写要删除元素的值,而不是下标,不会返回删除的值

例如:

name = ['name1','name2','name3']
name.remove ('name1')
print(name)

三、列表中修改元素
name[n] = xxx,为修改列表中某元素的值。也能够直接给列表从新负值,即 name = ['值1',‘值2’,‘...’]
例如:
name = ['name1','name2','name3']
name[2] = 'lalala'
print(name)
注意:若是找不到列表中的下标,对其进行修改值,会报错
例如:
name = ['name1','name2','name3']
name[9] = 'lalala'
print(name)
四、列表的查询
A in B,in方法
例如:

list = [1,2,3,'zhangyizhou']
print('zhangyizhou' in list)

列表名[-1],-1是取列表中最后一个元素。同理,-2表明倒数第二个元素,-3表明第三个元素
例如:
list [1,2,3,'zhangyizhou']
print(list[-1])
index(元素值)方法,意思是查询某个元素的下标,若是这个值在列表中不存在,报错
例如:

list = [1,2,3,'zhangyizhou']
print(list.index(1))

index方法中也能够从指定位置开始找,index(元素值,m,n)   m表明查找的开始位置,n表明查找的结束位置,结束的位置能够不写,意思就是查找到列表最后
例如:

list = [1,2,3,'zhangyizhou']
print(list.index('zhangyizhou',3,3))

五、列表的运算
+
list a +list b,意思是列表a元素和b元素相加后组成一个新的列表,新列表中的元素顺序按照a和b的顺序显示。但a和b中的值没有变化
例如:

list1 = ['zhangyizhou','yiso',1,33,600]
list2 = [25,68,'mengmengzhou','hahaha12']
print(list1 + list2)

a.extend(b),意思是把b的值扩展到a中,b的值不变,可是a的值是a+b后的值,顺序是a+b。
例如:

list1 = ['zhangyizhou','yiso',1,33,600]
list2 = [25,68,'mengmengzhou','hahaha12']
list1.extend(list2)
print(list1)

a.append(b),意思是把b这个总体加在a的末尾,注意这时结果会是一个二维数组,由于b在结果中是一个总体
例如:
a = ['a',3,'zhangyizhou',68]
b = [1,2,5,7]
print(a)
print(b)
六、列表的排序,默认是升序排序
sort()方法,将列表中的元素升序排序, 须要注意的是,用到排序方法,列表中的值必须是同一种类型的数据
例如:

list = [1,34,5,94,45,555,976]
list.sort()
print(list)

sort(reverse = True)方法,将列表中的元素降序排序
例如:

list = [1,34,5,94,45,555,976]
list.sort(reverse = True)
print(list)

 
3、切片,对字符串和字典都可操做

切片:从列表和字符串里取几个元素

List[m:n],意思是取第m位到第n位的元素

例如:
list = ['zhangyizhou','yiso','youxin']
print(list[1:3])

注意,若是从第一位开始取的话冒号前能够不写,渠道最后的话冒号后能够不写,若是都不写只写冒号的话就是从头取到尾

字符串的写法同上,注意取值都是顾头不顾尾

 

4、步长

步长:从列表和字符串里隔几个取一个元素

例如:

num = list(range(1,21))
print(num[0:11:3])
意思是从第0个到第11个隔3个元素取一次值
以上输出的是:[1, 4, 7, 10]
若是步长为负数的话,意思是从最后一个往前取值,至关于倒序排序
例如:
num = list(range(1,21))
print(num[::-1])
以上输出的是:[20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
若是步长是-2的话意思是从末尾开始取,隔两个取一次

5、元组
元祖:不可变的列表list。更多时候用在操做数据库读数据库时使用。
元组用小括号定义,如tuple()
元组只有两个方法,count()和index()。统计元组中重复元素出现的次数,和索引读下标
例如:
tuple = (0,1,2,3,2,5,6,7,8,2,2)
print(tuple)
print(tuple.count(2))
统计2在tuple中出现的次数
例如:
tuple = (0,1,2,3,2,4,6,7,8,2,2)
print(tuple.index(4))
以上例子是返回元组中数值是4的元素的下标


6、字典
字典:用大括号{}表示。Key value的形式在大括号里。可是key在字典里不能重复的,是惟一的。
一、字典取值的方法,经过key取值
例如:
zidian = {
    'name':'zhangyizhou',
    'sex':'man',
    'age':'17',
    'grade':'one'
}
print(zidian['grade'])
 
另外一种取值的方法get()
例如:
zidian = {
    'name':'zhangyizhou',
    'sex':'man',
    'age':'17',
    'grade':'one'
}
print(zidian.get('sex'))
以上两个方法的区别是get获取不到Key的时候不会报错返回是none
print(zidian.get('haha','没找到你要的'))
以上例子中没找到你要的这个参数,表明是当get不到Key时返回的东西,若是不写该参数的话返回none

二、
字典增长的方法
用中括号
例如
zidian = {
    'name':'zhangyizhou',
    'sex':'man',
    'age':'17',
    'grade':'one'
}

zidian['addr'] = '朝阳区青年路'
 
另外一种增长的方法setdefault(‘key’,’值’)
例如:
zidian = {
    'name':'zhangyizhou',
    'sex':'man',
    'age':'17',
    'grade':'one'
}
zidian.setdefault('addr','甜水园麦当劳')
print(zidian
      )
 三、字典修改的方法:
用中括号
同新增的中括号:zidian['like'] = 'music'

四、
字典删除的方法
del(key)
例如:del zidian[‘addr’]
pop(),字典是无序的,因此Pop方法必须传一个指定的key,并且指定删除的这个key必须存在,不然报错 
例如:pop(‘sex’)
Clear(),直接清空字典
例如:
zidian.clear()
Popitem(),意思是随机删除一个元素
例如:zidian.popiten()
以上返回的是:{}

五、
字典的内置方法:
all.keys()   返回字典的全部key    例如:print(all.keys(zidian))
all.values()返回字典全部的value   例如:print(all.values(zidian))
all.items()  返回字典全部的key 和value,循环字典的时候用        

六、字典的合并,将两个字典合并在一块儿
例如:
zidian1 = {    'name':'zhangyizhou',    'sex':'man',    'age':'17',    'grade':'one'}zidian2 = {    'xing':'yiso',    'nianji':'san',    'pohone':'13311221345',}zidian1.update(zidian2)print(zidian1)注意,若是要合并的两个字典中有相同的key,那么该方法执行后会更新key的value七、判断是否在字典中存在的方法,in例如:name in zidian1返回的是布尔值
相关文章
相关标签/搜索