python基础-day02
1. 列表、元组操作
列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操
定义列表
1 names = ['lily','lucy','jim','tom','jack','rose']
通过下标取元素
1 print names[0] 2 print names[5] 3 print names[-2] #取下标为倒数第二个的值 4 5 lily 6 rose 7 jack
切片:取多个元素
1 names = ['lily','lucy','jim','tom','jack','rose'] 2 print names[1:4] #取下标1至下标4之间的数字,包括1,不包括4 3 print names[1:-1]#取下标1至倒数第1之间的值,不包括-1的值 4 print names[0:3]#是从头开始取 ,0到3之间的值 5 print names[:3]#如果是从头开始取,0可以忽略,跟上句效果一样 6 print names[3:]#如果想取最后一个,必须不能写-1,只能这么写 7 print names[3:-1]#这样-1就不会被包含了 8 print names[0::2]#后面的2是代表,每隔一个元素,就取一个 9 print names[::2]#和上句效果一样 10 11 ['lucy', 'jim', 'tom'] 12 ['lucy', 'jim', 'tom', 'jack'] 13 ['lily', 'lucy', 'jim'] 14 ['lily', 'lucy', 'jim'] 15 ['tom', 'jack', 'rose'] 16 ['tom', 'jack'] 17 ['lily', 'jim', 'jack'] 18 ['lily', 'jim', 'jack']
增删改
1 names = ['lily','lucy','jim','tom','jack','rose'] 2 names.append("amy") #追加到最后一位 3 print names 4 names.insert(3,'mack') # 插入到第三个位置后面 5 print names 6 names[1] = 'new lucy'#修改位置1 的Lucy 为newlucy 7 print names 8 del names[1] #删除1位置的 newlucy 9 print names 10 names.remove('mack')#删除指定元素 11 print names 12 names.pop() #删除列表最后一个值 13 print names 14 15 names.append("amy") #追加到最后一位 16 print names 17 names.insert(3,'mack') # 插入到第三个位置后面 18 print names 19 names[1] = 'new lucy'#修改位置1 的Lucy 为newlucy 20 print names 21 del names[1] #删除1位置的 newlucy 22 print names 23 names.remove('mack')#删除指定元素 24 print names 25 names.pop() #删除列表最后一个值 26 print names
扩展 统计 排序 反转 获取下标
1 names = ['lily','lucy','jim','tom','jack','rose'] 2 b = ['crask','miii','jim'] 3 names.extend(b) 4 print names 5 print names.count('jim') 6 names.reverse() # 反转 7 print names 8 names.sort()#排序 9 print names 10 print names.index('jim')#只返回找到的第一个下标 11 12 ['lily', 'lucy', 'jim', 'tom', 'jack', 'rose', 'crask', 'miii', 'jim'] 13 2 14 ['jim', 'miii', 'crask', 'rose', 'jack', 'tom', 'jim', 'lucy', 'lily'] 15 ['crask', 'jack', 'jim', 'jim', 'lily', 'lucy', 'miii', 'rose', 'tom'] 16 2
元组
元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表
语法
1 names2 = ('lily','lucy','jim','tom') 2 print names2.count('lucy') 3 print names2.index('jim') 4 5 1 6 2
它只有2个方法,一个是count,一个是index
2. 字符串操作
特性:不可修改
1 name = 'my name is mahui' 2 print name.capitalize() #首字母转换成大写 3 print name.swapcase()#全部转换成大写 4 print name.center(50,'-') 5 print name.count('m')#统计 6 print name.endswith('hui')#是否以hui结尾 7 print name.find('y')#查询到返回下标数,查询不到返回-1 8 msg = "my name is {}, and age is {}" 9 print msg.format('mahui',24) 10 msg2 = "my name is {0}, and age is {1}" 11 print msg2.format('mahui',24) 12 msg3 = "my name is {name}, and age is {age}" 13 print msg3.format(name='mahui',age=24) 14 print msg.index('na') 15 16 My name is mahui 17 MY NAME IS MAHUI 18 -----------------my name is mahui----------------- 19 3 20 True 21 1 22 my name is mahui, and age is 24 23 my name is mahui, and age is 24 24 my name is mahui, and age is 24 25 3
3. 字典操作
字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。
语法:
1 info = { 2 'stu1101': "jack", 3 'stu1102': "lucy", 4 'stu1103': "tom", 5 'stu1104': "rose", 6 'stu1105': "lily", 7 }
字典的特性:
- dict是无序的
- key必须是唯一的,so 天生去重
增删改查
1 info = { 2 'stu1101': "jack", 3 'stu1102': "lucy", 4 'stu1103': "tom", 5 'stu1104': "rose", 6 'stu1105': "lily", 7 } 8 9 print info 10 info["stu1106"] = "mack"#增加 11 print info 12 info["stu1101"] = "jim"#修改 13 print info 14 info.pop('stu1101')#删除 15 print info 16 del info["stu1104"] 17 print info 18 print info.popitem() #随机删除 19 print info 20 print "stu1102" in info #查找 21 print info.get("stu1106") #获取 22 print info["stu1106"]#同上,但是看下面 #如果一个key不存在,就报错,get不会,不存在只返回None 23 24 {'stu1103': 'tom', 'stu1102': 'lucy', 'stu1101': 'jack', 'stu1105': 'lily', 'stu1104': 'rose'} 25 {'stu1103': 'tom', 'stu1102': 'lucy', 'stu1101': 'jack', 'stu1106': 'mack', 'stu1105': 'lily', 'stu1104': 'rose'} 26 {'stu1103': 'tom', 'stu1102': 'lucy', 'stu1101': 'jim', 'stu1106': 'mack', 'stu1105': 'lily', 'stu1104': 'rose'} 27 {'stu1103': 'tom', 'stu1102': 'lucy', 'stu1106': 'mack', 'stu1105': 'lily', 'stu1104': 'rose'} 28 {'stu1103': 'tom', 'stu1102': 'lucy', 'stu1106': 'mack', 'stu1105': 'lily'} 29 ('stu1103', 'tom') 30 {'stu1102': 'lucy', 'stu1106': 'mack', 'stu1105': 'lily'} 31 True 32 mack 33 mack
dict的遍历 取key,value值
1 info = { 2 'stu1101': "jack", 3 'stu1102': "lucy", 4 'stu1103': "tom", 5 'stu1104': "rose", 6 'stu1105': "lily", 7 } 8 print info.values() 9 print info.keys() 10 for key in info: 11 print key,info[key] 12 print "========================================" 13 for k,v in info.iteritems(): 14 print k,v 15 16 ['tom', 'lucy', 'jack', 'lily', 'rose'] 17 ['stu1103', 'stu1102', 'stu1101', 'stu1105', 'stu1104'] 18 stu1103 tom 19 stu1102 lucy 20 stu1101 jack 21 stu1105 lily 22 stu1104 rose 23 ======================================== 24 stu1103 tom 25 stu1102 lucy 26 stu1101 jack 27 stu1105 lily 28 stu1104 rose