知识点练习day9

列表
作用:多个装备,多个爱好,多门课程,多个女朋友等
  定义:[]内可以有多个任意类型的值,逗号分隔
 my_girl_friends=['alex','wupeiqi','yuanhao',4,5] #本质my_girl_friends=list([...])l=list('abc')
  常用操作:
  索引,切片,追加,删除,长度,循环,包含in
例子
列表data=['alex',49,[1900,3,18]],分别取出列表中的名字,年龄,出生的年,月,日赋值给不同的变量

l=[
{'name':'alex','age':84},
{'name':'oldboy','age':73},
{'name':'egon','age':18},
]
l.sort(key=lambda item:item['age'])
print(l)






数字(int,float,complex)
  作用:年纪,等级,薪资,身份证号,qq号等数字相关
    age = 10 # 本质age=int(10)
    salary = 3000.3 # 本质salary=float(3000.3)
  二进制,十进制,八进制,十六进制
  长整形(了解)
    在python2中(python3中没有长整形的概念):      
       >> > num = 2L
       >> > type(num)
       < type
'long' >
  复数(了解)  
       >> > x = 1 - 2j
       >> > x.real
      1.0
       >> > x.img
      -2.0
字符串
  作用:名字,性别
国籍,地址等描述信息
  定义:在单引号\双引号\三引号内,由一串字符组成
    name='egon'
  常用操作:
    移除空白strip
    切分split
    长度len
    索引
    切片
  其他操作(包括常用)


strip
name='*wh**'
print(name.strip('*'))
print(name.lstrip('*'))
print(name.rstrip('*'))

startswith,endswith
name='wh_aa'
print(name.endswith('aa'))
print(name.startswith('wh'))

replace
name='wh say: i have one tesla,my name is wh'
print(name.replace('wh','aa',1))

formet的三种玩法
res='{} {} {}'.format('wh',21,'male')
res='{1} {0} {1}'.format('wh',21,'male')
res='{name} {age} {sex}'.format(sex='male',name='wh',age=21)



find,rfind,index,rindex,count
name='wh say hello'
print(name.find('0',1,3)) #顾头不顾尾,找不到则返回-1不会报错,找到了则显示索引
print(name.index('e',2,4)) #同上,但是找到会报错
print(name.split('/',1)) #顾头不顾尾,如果不指定范围则查找所有


split
name='root:x:0:0::/root/bin/bash'
print(name.split(':')) #默认分隔符为空格
name='c=/a/b/c/d/.txt' #只想拿到顶级目录
print(name.split('/')1)

name='a/b/c'
print(name.rsplit('/',1))

join
tag=''
print(tag.join(['wh','say','hello','wold'])) #可迭代对象是字符串

center,ljust,rjust,zjust
name='wh'
print(name.center(30,'_'))
print(name.ljust(30,'*'))
print(name.rjust(30,'*'))
print(name.zfill(50)) #用0填充


expandtabs (扩充标签)
name='wh\thello'
print(name)
print(name.expandtabs(1))


lower(下) ,upper(上)
name='wh'
print(name.lower())
print(name.upper())

captalize ,swapcase(把大写字母换成小写方法也是转化字符串中字母的大小写),title(标题)
name='wh'
print(name.capitalize())
print(name.swapcase())
msg='wh say hi'
print(msg.title())


isdigt:bytes,unicode
is 数字系列
在python3中
num1=b'4'
num2=u'4'
num3='四'
nim4='IV'
print(num1.isdigit()) True
print(num2.isdigit()) True
print(num3.isdigit()) False
print(nim4.isdigit()) False


snumberic (中文数字) unicode(罗马数字)
bytes类型无isnumberic方法
print(num2.isnumberi())
print(num3.isdecimal())
print(nim4.isdecimal())


三者不能判断浮点数
num5='4.3'
print(num5.isdigit())
print(num5.isdecimal())
print(num5.isnumeric())


...最常用的是isdigit,可以判断bytes和unicode类型,这也是最常见的数字应用场景
如果要判断中文数字或罗马数字,则需要用到isnumeric...

is 其他
print('===>')
name='wh 123'
print(name.isalnum())
print(name.istitle())


print(name.isidentifier())
print(name.islower())
print(name.isupper())
print(name.isspace())
print(name.istitle())


字符串练习题:
1 解除name变量对应的值两边的空格,并输出处理结果
name=' wh '
b=name.strip()
print(b)
2 判断name变量对应的值是否以'al'开头,并输出结果
name='alxe'
if name.startswith(name):
print(name)
else:
print('no')
判断name变量对应的值是否以"X"结尾, 并输出结果

name='alxe'
if name.endswith(name):
print(name)
else:
print('no')



将name变量对应的值中的 “l” 替换为 “p”, 并输出结果
name='alxe'
print(name.replace('l','p'))


将name变量对应的值变大写, 并输出结果

name='alex'
print(name.upper()) upper (转换大写)

将 name 变量对应的值根据 “l” 分割,并输出结果。
name='alex'
print(name.split('l'))



将 name 变量对应的值变小写,并输出结果

name='alex'
print(name.lower())

请输出 name 变量对应的值的第 2 个字符?
name='alex'
print(name[1])


请输出 name 变量对应的值的前 3 个字符?
name='alex'
print(name[2])

请输出 name 变量对应的值的后 2 个字符?

name='alex'
print(name[-2])

请输出 name 变量对应的值中 “e” 所在索引位置?

name='alex'
print(name.index('e'))

获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。
name='alex'
print(name[:-1])

posted @ 2017-07-18 20:29  Dear坏小子  阅读(166)  评论(0编辑  收藏  举报