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<myLen:
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. 传递