码迷,mamicode.com
首页 > 其他好文 > 详细

day2

时间:2016-05-21 11:42:12      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:

一.数据类型 
1.数字   int 
2.整型   
3.浮点型  float

a += 1  和  a = a+1 方法相同


布尔值:真和假,1 和 0 ,1是真,0是假


二.字符串 
填充、删减、变形、切分、连接、判定、查找、替换、编码 
    type(‘a‘) 
    str(1) #转换成字符串 
    int(‘1‘) #转成数字 
    \n #自动换行

1.填充 
name = ‘WMH‘ 
name.center(10,‘*‘) 
expandtabs() #expandtabs()的tabsize 参数默认为8填充空格,但必须有\t制表符 
print(‘a\tb‘.expandtabs()) 
print(‘a\tb‘.expandtabs(4))   # \t 为制表符 
print(‘KKKKKKK123dddd‘.lower())  #转小写 
print(‘jfksjfsa‘.upper())  #字符串转大写 
print(‘jfksjfsa‘.capitalize()) #首字母大写 
print(‘a‘.join(‘bcd‘)) #返回字符串,插入字符,隔一个插一个

2.删减 
strip()  #去两边,脱衣服 
print(‘   a   ‘.strip())

3.字符串判断 ==> 索引(下值,位置参数,传参) 
#索引: 
        ‘hello python‘ 
        ‘hello python‘[0] 
        ‘hello python‘[1] 
        ‘hello python‘[0:2] #0到2的索引,返回he,有下限,没有上限 
        ‘hello python‘[2:] #从2到最后 
        ‘hello python‘[-1] #只取最后 
        ‘hello python‘[0:-1] 
        ‘hello python‘[:] #从0到最后 
        ‘hello python‘[::2] 
        ‘0123456789‘[::2] #格2取1 
        ‘0123456789‘[::3] #格3取1 
        len(‘hello python‘) #返回字符串长度 
4.判断: 
        isalnum()  #判断是否为字母或数字组成,返回True或False 
        name = ‘123acb‘ 
        name.isalnum() 
        ‘123abc‘.isalnum() 
        isalpha() #判断是否为字母组成,返回True或False 
        isdigit()#判断字符串是否为数字组成,返回True或False 
        islower() #判断是否为小写字母 
        isspace() #判断是否为空格 
        startswith() #以什么开始 
        ‘ssdfsfds‘.startswith(‘s‘,3,5) 
        endswith() #以什么结束 
        ‘ssdfsfds‘.endswith(‘f‘)

判断是否为数字,不是即返回错误数据类型 
age =input("your age : ") 
if age.isdigit(): 
    age = int(age) 
else: 
    print("invalid data type")

your age : sdfsa 
invalid data type

 

    
5.字符串查找 
        count() 
            ‘dsfsdfasfd‘.count(‘f‘) #统计f的个数 
            ‘dsfsdfasfd‘.count(‘a‘,0,5) #查找a,从0到5,不包括5 
        find() 
            ‘dsfsdfasfd‘.find(‘a‘) 
            ‘dsfsdfasfd‘.find(‘f‘) #查找完返回索引值 
            ‘dsfsdfasfd‘.find(‘f‘,4) #查找完返回索引值 
            ‘dsfsdfasfd‘.find(‘k‘) #找不找返-1 
        index() 
            ‘dsfsdfasfd‘.index(‘k‘) #找不找返错

6.字符串替换 
        replace() 
            ‘hello python‘.replace(‘h‘,‘H‘) #h替换H 
            ‘hello python‘.replace(‘h‘,‘H‘,1)#1是指最大替换个数 
7.字符串编码chr ord #ascii码,对信息加密方式 
            chr(a) 
            ord(97)     
         encode() #加码 
         decode() #解码 
             a = u‘aaaa‘ 
             a.encode(‘gbk‘) 
             print a 
             a.decode(‘utf-8‘) 
             print  a.decode(‘utf-8‘)

        a = ‘中国‘ 
        a.encode(‘utf-8‘) 
        a.decode(‘gbk‘) 
        print a.decode(‘gbk‘) 
        print a.decode(‘gbk‘).encode(‘utf-8‘) 
8.字符串拼接 
        ‘a‘+‘b‘ 
        ‘a‘*3   #打印三次 
        #不要type()判断是否为数字 
        print("wmh"+ "wml")

 

二.列表

1.索引 
根据索引号打印值 
name = ["minghu","minglong","jack",22,9,[‘dfsj‘,‘fksjd‘],23] 
print(name[-1])       #根扰索引号打印对应的字符,打印最后一个索引的值 
print(name[-2])       #打印最后第二个索引的值 
print(name[0:1])      #打印索引0到1,不包括1

print(name[2:5])      #打印索引2到5的值,不包括最后的索引 
print(name[-5:])      #取最后5个值 
print(name[-5:-1])    #不取最后一个 
print(name[:])        #取全部 
print(name[:6])       #取索引开头到索引6,不包括6


2.二次取 
print(name[5][0])   #取列表中列表索引  
print(name[:6][2:4][0])

 

3.修改: 
name[1] = "wangminghu" 
print(name)


4.插入 
name.insert(2,‘minggo‘) 
print(name)

5.追加 
name.append("alex")


6.删除 
name.remove("minggo")

 

7.查找: 
print(9 in name) #判断9是否在列表中,有则返回True,无则返回False 
name=[‘9‘,‘9‘,‘8‘] 
print(name.count("9"))  #统计有几个9

 

name=[‘9‘,‘9‘,‘8‘] 
if "9" in name: 
    num_of_ele = name.count("9")  #统计有几个9 
    print("[%s] 9 is/are in name" % num_of_ele)


name=[9,9,8] 
if 9 in name: 
    num_of_ele = name.count(9)  #统计有几个9 
    print("[%s] 9 is/are in name" % num_of_ele)

 

8. 更改第一个索引的值    
name=[9,9,8] 
if 9 in name: 
    num_of_ele = name.count(9)  #统计有几个9 
    posistion_of_ele = name.index(9) 
    name[posistion_of_ele] = 999    #只修改第一个索引的值 
    print(name)    
    
   

9.全部更改 
for i in range(name.count(9)): 
    ele_index = name.index(9) 
    name[ele_index] = 99999999999999999

10.合并表 
name=[9,9,8] 
name2 = [‘fsaf‘,‘fdsafa‘] 
name.extend(name2)   #把name2的表合并到name表


11.反转 
name.reverse 
print(name)


12.排序 
name.sort 
print(name)


14.删除索引元素 
pop #弹出,返回后删除索引元素 
        a.pop() 
        a.pop(3) 
        
        
        
15.去两边,拖衣服,例input输入有空格,即不执行内容,可以使用strip()脱掉,即你随意多少空格都去掉 
有空格交互1: 
username = input("user:") 
if username == ‘alex‘: 
    print("welcome") 
user:alex      #此处有空格

Process finished with exit code 0   #输入正确信息,后面有空格,即判断不正确,即退出 
    
使用strip后的空格交互: 
if username.strip() == ‘alex‘: 
    print("welcome") 
user :alex        #此处有多个空格 
welcome           #输入了正确信息,脱掉了所有空格,输出了想要的结果

 

16.切分:split使用 
names="alex,jack,rain" 
name2=names.split(",")   #变成列表 
print(name2) 
print("|".join(name2))  #合成字符串 
print(name2)

[‘alex‘, ‘jack‘, ‘rain‘] 
alex|jack|rain 
[‘alex‘, ‘jack‘, ‘rain‘]


17.判断是否有空格 
name = "alex li" 
print(‘ ‘ in name) 
True

 


18.不完全COPY 
name3 =name.copy() 
name[0]=‘ALEX‘ 
name[3][1] = 4444444444444

import copy 
name=[‘fdsafsa‘,‘fkjdsaflsaf‘,‘jfkdsajflsa‘,‘fdsafsa‘] 
name4=copy.copy(name) 
print(name4)


19.完全克隆 
import copy 
deepcopy 
name = [‘sa‘,‘fdsa‘,‘fdsaf‘,‘fsa‘,[‘fsa‘,‘fsa‘,‘dfa‘],‘fdsfa‘,‘dfaf‘] 
copy4.deepcopy(name)

 

20.格式化字符串 
字符串的format函数可以接受不限个参数,位置可以不按顺序,可以不用或者用多次 
a=(‘{0},{1}‘.format(‘kzc‘,18)) 
print(a) 
‘kzc,18‘

‘{},{}‘.format(‘kzc‘,18) 
‘kzc,18‘ 
‘{1},{0},{1}‘.format(‘kzc‘,18) 
‘18,kzc,18‘ 
  
msg="hello,{name},long {age} " 
msg2=msg.format(name=‘fdsf‘,age=33) 
print(msg2) 
hello,fdsf,long 33

 

 

 

三.课堂作业1 
1.需求: 
列表包括所有成员名字 
往中间插入两个临组成员的名字 
取出第3-8的人 
删除第7个人 
把临组2个人一次性删除 
把组长的名字加备注 
要求隔一个人打印一个人


2.实现 
name = [‘wmh‘,‘wml‘,‘rain‘,‘tom‘,‘xiaoming‘,‘xx‘,‘mm‘,‘jsjf‘] 
name.insert(-1,"minghu")   #放到负一的左边 
name.insert(4,"minglong") 
print(name) 
name2 = name[2:7] 
print(name2) 
name.remove(‘mm‘) 
del name[4:6]   #同时删除两个人 
del name   #整个变量删除 
name[2]="wml(zuzhang)" 
print(name[0:-1:2])    #2为步长,但不打印最后一个,隔一个打一个 
print(name[0::2]) print(name[::2])  #隔一个打一个

 

 


四.while loop 死循环

#死循环限制100,跳过50到60继续执行,到100即退出 
count =0 
while True: 
    count += 1 
    if count > 50 and count < 60: 
        continue 
    print("NIU",count) 
    if count == 100: 
        print("fdsjakfjsajfsa") 
        break


五.字典

wmh_dict = { 
    1:{‘name‘:"linzhiling","age" 
    :22,‘addr‘:‘taiwan‘}, 
    2:{‘name‘:"linxinru",‘age‘:21, 
    ‘addr‘:‘taiwan‘}, 
    3:{‘name‘:"gaoyuanyuan",‘age‘:‘20‘, 
    ‘addr‘:‘dalu‘} 

print(wmh_dict) 
print(wmh_dict[1])   #打印key名字为1的值 
wmh_dict[2][‘name‘]= "xuxiyuan"   #更改key名字为2嵌套字典key名为name的值 
print(wmh_dict[2]) 
wmh_dict[2][‘fanbingbing‘] = 2  #没有即加 
wmh_dict[2].pop("addr")  #删除addr   KEY 
v=wmh_dict.get(1)  #获取字典内所有键对应的值,同a[‘keyname‘]相同 
print(v)

 


判断key是否在字典中,有则回显,这种方法效率高 
for key in wmh_dict: 
    print(key,wmh_dict[key])

更新即替换    
a = {‘name‘:‘zhangsan‘,‘age‘:20,‘abort‘:{‘father‘:‘laozhang‘,‘mother‘:‘zhangsan‘}} 
a.update(name = ‘wmh‘) #和a[‘name‘] = ‘wmh‘ 效果相同 
{‘name‘: ‘wmh‘, ‘abort‘: {‘father‘: ‘laozhang‘, ‘mother‘: ‘zhangsan‘}, ‘age‘: 20} 
dict.update()  #更新字典键对应的值 
    a.update(name = ‘wmh‘) #和a[‘name‘] = ‘wmh‘ 效果相同 
    a   

day2

标签:

原文地址:http://www.cnblogs.com/wml1989/p/5514306.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!