python字符串、列表、元组

字符串的常用方法:

name.count('h')统计h在name中出现的次数
name.find('h')查找h的索引
'?'.join(name)使用问好拼接
name.encode('gb2312')将字符串转为gb2312编码
name.decode('gb2312'),表示将gb2312编码的字符串转换成unicode编码
name.endswith('.txt')字符串是否以xx结尾 布尔型
startswith('A')字符串是否以xx开头 布尔型
name..isdigit()判断是否为数字 布尔型
name.strip()去空格
name.replac('xx','')讲字符串中xx替换掉
name.split(',')以逗号来分割字符串,返回的是一个list
name.splitlines()以换行符来分割字符串,返回的是一个list

列表的常用方法

增:

msg = 'woshi'
name = ['yige','xiaoshide','hundan']
name.append(msg)#从最后面开始插入
name.insert(1,msg) #从指定位置插入,这个1代表下标            

删: 

msg = 'woshi'
name = ['yige','xiaoshide','hundan']
name.remove('yige')#删除指定的值
del name[0]#删除指定位置的值
name.pop()#不传入下标的话,删除最后一个值,传入下标删除指定位置的值
name.clear()#清空列表

改:

msg = 'woshi'
name = ['yige','xiaoshide','hundan']
name[1] = 'baby' #修改下标为1的值

查:

msg = 'woshi'
name = ['yige','xiaoshide','hundan']
print(name[0])#获取第一个元素
print(name[-1])#-1代表最后一个元素

一些常用方法:

print(name.index('yige'))#取索引
print(name.count('yige'))#取cc出现的次数
name.clear()#清空列表
print(name.sort())#排序
name.extend(name2)#扩展列表,也就是把name2的值加到name里面
name.reverse()#反转数组,会改变原数组的值

其他:

a = [1,2,3,4,5,6,7]
for i in range(len(a))
     print(i,a[i])
和下面的结果是一样的
for item,p in enumerate (a)
     print(item,p)

切片:

顾头不顾尾
切片冒号前面的值,省略不写的话,代表取前面所有的值
切片冒号后面的值,省略不写的话,代表取后面所有的值
只写一个冒号的话,取整个列表,它可以用来复制一个新的列表
步长默认不写的话,是1,写上步长的话,写几就隔几个元素取一次
步长为负数的时候,从列表的末尾开始取值,是正数的话,就从列表的开头开始取值。
切片下标的操作同样适用于字符串

nums = [1,2,3,4,5,6,7,8,9,10]
nums[1:4]  #取下标1至下标4之间值,包括1,不包括4
nums[1:-1] #取下标1至-1的值,不包括-1
nums[0:3] #取下标0至3的值,不包括3
nums[:3] #取下标0至3的值,不包括3,和上面的效果一样,0可以省略不写
nums[2:]#取从第二个下标开始的后面所有元素
#下面是加上步长的
nums[::2]#这个代表取所有的元素,然后每隔2个元素取一个
>>> 1 3 5 7 9 #输出的结果
nums[1:8:3]#代表取第二个元素开始,到第八个结束,隔3个取一次
>>>[2,5] #输出结果

元组:

元组其实和列表一样,不一样的是,元组的值不能改变,一旦创建,就不能再改变了,比如说,要存数据库的连接信息,这个连接信息在程序运行中是不能被改变的,如果变了那数据库连不上了,就程序就完犊子了,这样的就可以使用元组了,元组呢,也提示别人,看到是元组的话,就说明这个值是不能被改变的,元组的定义方式是用(),小括号;元组只有两个方法,那就是count和index

mysql_coon = ('192.168.1.109','root','123456',3306,'my_db')#定义元组

  mysql_config.count(3306)#查询出现的次数
  mysql_config.index('root')#获取指定元素的下标

字典:

字典的特性:

字典是无序的,因为它没有下标,用key来当索引,所以是无序的

字典的key必须是唯一的,因为它是通过key来进行索引的,所以key不能重复,天生就去重

增:      

infos = {'marry':[18,18612512981,'北京'],'amy':[20,18612512991,'山东'],'lily':[25,18612532981,'河南']}
infos['andy']=[22,18712512981,'河北']#增加

修改:

infos = {'marry':[18,18612512981,'北京'],'amy':[20,18612512991,'山东'],'lily':[25,18612532981,'河南']}
infos['marry':[38,18612512981,'北京']]               

删除:

 infos = {'marry':[18,18612512981,'北京'],'amy':[20,18612512991,'山东'],'lily':[25,18612532981,'河南']}
 infos.pop('marry')#标准的删除方法
 del infos['marry']#使用del方法删除
 info.popitem() #随机删除一个值

查询:

 infos = {'marry':[18,18612512981,'北京'],'amy':[20,18612512991,'山东'],'lily':[25,18612532981,'河南']}
 infos.get('maryy')#获取marry的信息,这种方式如果key不存在的话,会返回None
 infos['marry']#获取marry的信息,这种方式如果key不存在的话,会报错
'marry' in infos #判断marry是否在这个字典中,返回True或者False

字典的内置方法:

 dic = {'stu1':'cc','stu2':'andashu','stu3':'niuniu'}
 print(dic.values())#打印所有value
 print(dic.keys())#打印所有的key
 print(dic.setdefault('stu1','fengluo'))#如果这个key存在的话,那就不动它,不存在的话,添加一个
 dic2 = {'stu1':'sriba','stu10':'baidu'}
 dic.update(dic2)#更新字典值,如果key存在的话,就更新,不存在的话就添加
 print(dic.items())#字典转换成一个list
 

 

 







posted @ 2016-11-19 17:55  消失的混蛋  阅读(965)  评论(0编辑  收藏  举报