Python入门学习笔记(三)

Day3

又见str

-索引
str h e l l o
索引 0 1 2 3 4

  • 贴片操作(顾头不顾尾)

s=‘Hello’
s[1:3]
out:‘He’
s[2:4]
out:‘ll’

  • 字符串不可变
    对某个字符串如str重新赋值时,没有改变str本身,只是改变了str指向的地址,即给新值提供新地址,让str指向新地址。旧地址会被解释器定时回收。

-字符串常用操作

a=“Hello world”

str.center(整数,间隔符号)

str.count(要查找的字符,开始索引数,结束索引数)
str.endwith(a) #检验字符串str是否以a为结尾,返回true 或者 false
str.startwith(a) #检验开头,与以上类似
str.find(a) #字符查找,返回-1表示没找到,若找到,则返回索引
str.isdigit() #判断str是否是数字形式的字符串,如’1’
b=[“g”,“c”,“t”] ;“连接符”.join(b) out:g连接符c连接符t
a.replace(“l”,“M”) #用M替换a中原来所有的l
a.replace(“l”,“M”,1) #用M替换a中前1个l
a.split(” “) #用空格作为分隔符分开a out:[“Hello”,“world”]

又见list

定义

特点(索引)

插入:

1.list.append(需要添加的内容)
2.list.insert(索引,需要添加的内容)
3.list1.extend(list2) (把list2合并到list1的末尾)
4.list1.insert(索引,list3)

删除:

1.del list[索引] 直接删除
2.list.pop() #默认删除最后一个元素并返回被删除的值
3.list.pop(索引) #删除指定元素 tips:若要删除倒数第n个,则索引为-n
4.list.remove(“a”) #删除第一个找到的a值
5.list.clear() #清空

修改

查找:

1.list.index(“a”) #返回从左开始匹配到的第一个a的索引
2.list.cout(“a”) #返回a的个数

切片

1.list[1:4] #取索引1-3的内容
2.list[:4] #取索引0-3的内容
3.list[4:] #取索引4-末尾的内容
4.list[-5:-1] #取倒数第五-倒数第二的内容
5.list[-5:] #取倒数第五-倒数第一的内容
6.list[0??2] #取从第零个索引一直到倒数第二个索引,但步长为2来取,即取索引为0,2,4,6…的值
7.list[0::2] #以步长为2从0到最右取相应索引的值

排序

list.sort()
tips:排序顺序为大写英文字母、小写、中文

反转

list.reverse() #把列表左右翻转

循环列表

out:

a
b
c

即打印了每一个list中的元素。
打印索引与list元素:

out:

(0, ‘a’)
(1, ‘b’)
(2, ‘c’)

out:

0 a
1 b
2 c

班级成绩排序小程序

需求:把[班级成员,成绩]列表按五个成绩等级重新排列。

out:

[[‘a’, 97], [‘f’, 100]]
[[‘e’, 88]]
[[‘g’, 79]]
[[‘c’, 70], [‘h’, 65]]
[[‘b’, 50], [‘d’, 59]]

不足:如果每个成绩等级里也可以排序则更佳

字典

定义

  • 结构

{key1:value1,key2:value2}

  • key必须为不可变数据类型(字符串、数字),必须唯一(若key不唯一,则后面的key及相应的value会覆盖之前的同名的key)
  • 可存放任意多个value、可修改、可以不唯一
  • 无序
  • 查询速度快,且不受dict的大小影响。(与hash有关)

操作

  • 增加
    dict[key]=value

  • 删除
    del dict[key]
    dict.pop(key) #与list类似
    dict.clear()

  • 修改
    与普通变量赋值方式相同

  • 取值
    dict[key]
    out:value

  • 查询
    查询key是否在dict中:key in dict
    查询dict中所有的keys: dict.keys()
    查询dict中所有的values: dict.values()
    把dict中的每一对key-value变成列表中的元素(类似):dict.items()

  • 循环

单独取key value:#与list最后类似

  1. for k in dict.keys()

3.#推荐使用这种这种速度快

求长度

len(dict)

嵌套

练习

快递分拣小程序:

#共452条记录list = [    ['王*龙', '北京市海淀区苏州街大恒科技大厦南座4层'],    ['庞*飞', '北京市昌平区汇德商厦四楼403'],    ['顾*锐', '江苏省扬州市三垛镇工业集中区扬州市立华畜禽有限公司'],    ['王*飞', '上海市徐汇区上海市徐汇区H88越虹广场B座5E'],    ['华*升', '北京市海淀区杰睿大厦'],    ['朱*锴', '上海市浦东新区川沙新镇华川家园33号楼503'],    ['陈*盼', '浙江省杭州市闲林街道,西溪华东园,十幢一单元401。'],    ['司*鹏', '河南省鹤壁市淇滨大道310号  鹤壁京立医院'],    ['聂*睿', '河北省石家庄市中山路勒泰中心写字楼b座11层'],    ['张*', '辽宁省本溪市明兴丽城九号楼四单元'],    ['冉*晗', '河北省石家庄市体育南大街385号'],    ['高*杰', '北京市朝阳区广渠路42号院3号楼,408'],    ['李*国', '安徽省合肥市新站区淮合花园'],    ['常*源', '江苏省南京市白下路242号,南京市红十字医院,放射科'],    ['张*玉', '河北省沧州市新居然家居广场'],    ['王*川', '上海市奉贤区南桥镇 贝港七区'],    ['冀*庆', '河北省保定市河北大学坤兴园生活区'],    ['胡*晨', '浙江省宁波市浙江省宁波市江东区中山首府A座2004室'],    ['尹*婷', '湖北省武汉市武汉大学信息学部'],    ['李*东', '辽宁省大连市大关一街3号3-3-1'],    ['张*', '天津市河西区隆昌路94号(天津科技馆)'],    ['刘*', '湖北省黄冈市城关镇'],    ['阿*亚', '内蒙古省呼和浩特市包头东接民望家园1区3号楼2单元1501'],    ['孙*云', '山东省济南市山东省济南市历下区祥泰汇东国际,一号楼3005室'],    ['曹*亮', '黑龙江省大庆市服务外包产业园D1'],    ['侯*琦', '上海市长宁区金钟路凌空soho16号楼3楼'],    ['郭*峰', '河南省商丘市高新技术开发区恒宇食品厂'],    ['赵*生', '河北省唐山市朝阳道与学院路路口融通大厦2408室'],    ['张*', '陕西省咸阳市文汇东路6号西藏民族大学'],    ['刘*民', '北京市大兴区南海家园四里7号楼1单元902'],    ['郭*兰', '湖北省武汉市湖北省'],    ['张*强', '河北省张家口市经开区钻石南路11号'],    ['鞠*龙', '山东省潍坊市玉清街江山帝景B区12号楼一单元14楼'],    ['李*', '北京市海淀区西二旗智学苑5号楼超市'],    ['许*康', '北京市西城区西单北大街甲133号'],    ['叶*生', '江苏省扬州市扬子江中路756号'],    ['赵*兴', '北京市海淀区西二旗上地信息路1号金远见大楼华纬讯301'],    ['徐*革', '北京市海淀区闵庄路3号102栋二层206'],    ['徐*', '安徽省淮南市金荷小区(金格商场旁)'],    ['雷*', '北京市朝阳区望京街道望京sohoT1C座1201'],    ['庄*', '浙江省杭州市恒生电子大厦'],    ['蔡*恩', '湖北省武汉市仁和路沙湖港湾B区1103'],    ['陈*', '江苏省苏州市巴城镇湖滨北路193号牛吃蟹庄'],    ['黄*', '北京市朝阳区霄云路26号鹏润大厦A座33层'],    ['魏*飞', '河北省石家庄市新石北路与红旗大街交口开元大厦502室'],    ['张*', '山东省济南市兴港路三庆城市主人'],    ['段*琪', '山西省临汾市福利路尧乡小区'],    ['刘*', '北京市昌平区龙禧三街骊龙园601'],    ['王*生', '上海市杨浦区邯郸路复旦大学遗传学楼319室'],    ['王*君', '江苏省扬州市叶挺路318号建行营业部'],    ['王*义', '北京市东城区环球贸易中心D座'],    [来源:JaneWu_
                                                        

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月22日
下一篇 2021年1月22日

相关推荐