1.
切片:
'''
列表生成式
'''
myList = [i*10 for i in range(0,11)]
print(myList)
'''
切片[a:b:c]
下标从a开始,截止到b,b是取不到的 [a,b)
c是间隔,默认是1
a默认是0
b默认是len(列表)
c默认是1
'''
print(myList[1:4])
print(myList[1:4:2])
print(myList[1:4:2])
print(myList[0:len(myList):2])
print(myList[::2])
print(myList[:6:2])
'''
myList.reverse()
print(myList)
'''
print(myList[::-1])
print(myList[6:1:-1])
ls1 = myList[0:3]
ls2 = myList[3:11]
print(ls1+ls2)
print(myList)
2.
循环遍历的两种方式 :while 和 for
ls = [i*10 for i in range(1,11)]
myIndex = 0
myLen = len(ls)
while myIndex print('%s:%s'%(myIndex,ls[myIndex])) myIndex+=1 for item in ls: print('%s=%s'%(ls.index(item),item)) 3. 传递; ''' python组织数据的方式不一样的 普通类型(数字、字符串、布尔、空) 与 集合列表不同 ''' ls1 = [1,2,3] ls2 = [1,2,3] print('ls1=%s,ls2=%s'%(ls1,ls2)) print('id(ls1)=%s,id(ls2)=%s'%(id(ls1),id(ls2))) a = 10 b = 10 print('id(a)=%s,id(b)=%s'%(id(a),id(b))) print('******************************************') ls1 = [1,2,3] ls2 = ls1 print('ls1=%s,ls2=%s'%(ls1,ls2)) print('id(ls1)=%s,id(ls2)=%s'%(id(ls1),id(ls2))) ls2 = [1,2,3] print('ls1=%s,ls2=%s'%(ls1,ls2)) print('id(ls1)=%s,id(ls2)=%s'%(id(ls1),id(ls2))) 4. 4.1 元组: ''' 元组是一个特殊的列表。只读,不能修改。 一旦定义并赋值之后,不能再修改了。 只有查询的功能 ''' ls = [119,120,110] print(type(ls)) tu = (119,120,110) print(type(tu)) print(tu[0]) print(tu.count(120)) print(tu) 4.2 元组使用小括号,列表使用方括号 一些需要注意的地方 :1. nums = (1,2,3,4,) print(nums) nums = () print(nums) print(type(nums)) ''' 如果元组只有一个值,需要后面加逗号。 建议: 元组、列表,最后都加一个逗号 ''' nums = (110,) print(nums) print(type(nums)) t1 = (1,2,3) t2 = (1,2,3) print(id(t1)) print(id(t2) 2. nums = (1,2,3,[44,55,66]) print(len(nums)) print(nums[3][1]) print('******************************************') nums = (1,2,3,[44,55,66]) nums[3][1] = 555 print(nums) print('******************************************') ''' nums = (1,2,3,[44,55,66]) nums[2] = 333 print(nums) ''' print('******************************************') nums = (1,2,3,[44,55,66]) nums[3] = [44,55,66] print(nums) 4.3 元组 和 列表 互相转换 1.列表 = list(元组) 元组转列表 2.元组 = tuple(列表) 列表转元组 注意:这两个方法都是得到一个新的,不会修改原来的 ls1 = [1,2,3] print(ls1) ls2 = list(ls1) print(ls2) ls2 = list('123abc') print(ls2) print('******************************************') tu1 = (1,2,3) print(tu1) tu2 = tuple(tu1) print(tu2) tu3 = tuple('123abc') print(tu3) print('******************************************') ls = [1,2,3] tu = tuple(ls) print(ls) print(tu) print('******************************************') tu = (1,2,3) ls = list(tu) print(ls) print(tu) 5. 字典 1.格式 字典 = {key1 : value1, key2 : value2 ......} 2.键和值 键必须是唯一的,但值则不必。 值可以取任何数据类型,如字符串,数字或元组。 dict内部存放的顺序和key放入的顺序是没有关系的。 5.1 字典的 定义和使用 ''' 语法: 标识符 = {'键1':值1,'键1':值2...} 注意: 1、键必须是字符串,值是任何类型的 2、键必须是唯一的,值可以重复 3、如果键重复了,后面会覆盖前面的 ''' infos = { 'sid':110, 'sname':'老王', 'age':22, 'hobby':['抽烟','喝酒','烫头发'] } print(infos['sname']) print(infos['hobby'][2]) 5.2 1.增 改: 字典[键] = 值 如果次key不存在,就是往字典里新增一个键值对;否则,就是修改 由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉: 2.删 : 1. 字典.pop(键) 根据键,删除指定的值,并将此值放回 2. del 字典[键] 根据键,删除指定的值 3. 字典.clear() 清空字典里的键值对 3. 查: 1.值 = 字典[键] 根据键查询值 2.字典.get(键,[默认值]) 通过dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value 3. len(字典) 计算字典元素个数,即键的总数。 4. str(字典) 输出字典可打印的字符串表示。 5. dict.keys() 以列表返回一个字典所有的键 6. dict.values() 以列表返回一个字典所有的值 7. dict.items() 以列表返回可遍历的(键, 值) 元组数组 4. 判断 : 1. 键 in 字典 如果键在字典中存在,返回True 否则,返回False 5. 遍历 1.使用for循环遍历的三种方式 for key in dict: print('%s:%s'%(key,dict[key])) for key in dict.keys(): print('%s:%s'%(key,dict[key])) for k,v in dict.items(): print('%s:%s'%(k,v) 比如 : #增加 改 查 字典的键是无序的,所以不能保证顺序 如果存在这样的键 是修改 否则就是删除 ''' ''' infos ={ 'sid':110, 'sname':'老王', 'age':22, 'hobby':['抽烟','喝酒','泡妞'] } #新增 infos['sex']='男' print(infos) #修改 infos['age']=99 print(infos) #删除键获取值 sname= infos.pop('sname') print(sname) print(infos) #删除 del infos['sname'] print(infos) #长度 print (len(infos)) #清空 infos.clear() print(infos) ''' ''' infos={ 'sid':110, 'sname':'老王', 'age':22, 'hobby':['抽烟','喝酒','泡妞'] } print(infos['sname']) print(infos.get('sex')) #获取,如果没有,可以获取默认值 print(infos.get('sex','没有')) print(infos.get('sname','没有')) #遍历键 for i in infos_keys: print(i) #获取所有的键 infos_keys = infos.keys() print(infos_keys) #遍历值 for i in infos_values: print(infos_values) #获取所有的值 infos_values=infos.values() print(infos_values) #第一种遍历字典的方式 infos_keys = infos.keys() for k in infos_keys: print('%s:%s'%(k,infos[k])) #第二种遍历 字典的方式 infos_items=infos.items() print(infos_items) for i in infos_items: #print(i=%s%str(i)) key=i[0] value=i[1] print('%s:%s'%(key,value)) print('**********************************************') ''' #第三种遍历 字典的方式(推荐使用) infos ={ 'sid':110, 'sname':'老王', 'age':22, 'hobby':['抽烟','喝酒','泡妞'] } ''' for k in infos: print('%s:%s'%(k,infos[k])) #判断有没有这个键 key = input('输入键:') if key in infos: print('有') else: print('无') ''' infos_values = infos.values() value =input('输入要搜素的值:') ''' #False表示没有,True表示有 flag=False #遍历值 for i in infos_values: if i==value: flag=True break ''' flag = value in infos_values if flag: print('有') else: print('没有') 6. 传递