1. 字符串及常用方法
#输出对应下标的值
test='I love yundi lee.'
print('获取第1个字符%s'%test[0]) #获取第1个字符I
print('获取第2个字符%s'%test[4]) #获取第2个字符v
#遍历输出
for i in test:
print(i,end='') #I love yundi lee.
复制字符串
实质:只是把a对象的内存地址赋给了b对象
#复制字符串
#print('a的内存地址%d'%id(a)) #id函数 可以查看一个对象的内存地址
a='admin'
b=a #只是把a对象的内存地址赋给了b对象
print(id(a)) #37658880
print(id(b)) #37658880
2. 列表及常用方法
list- 新建
#列表
li=[] #空列表
li=[1,2,3,"你好"]
print(type(li))
print(len(li)) #len函数可以获取到列表对象中的数据个数 4
strA='我喜欢python'
print(len(strA)) #9
list- 查找- 切片 .index
#list切片(查找)
listA=['abcd',785,12.23,'qiuzhi',True]
print(listA[0]) #输出:abcd
print(listA[1:3]) #输出:第2-3个元素 [785, 12.23]
print(listA[2:]) #输出:从第3个开始到最后所有的元素 [12.23, 'qiuzhi', True]
print(listA[::-1]) #输出:从右向左倒序输出 ['abcd', 785, 12.23, 'qiuzhi', True, 'abcd', 785, 12.23, 'qiuzhi', True]
print(listA*2) #输出多次:['abcd', 785, 12.23, 'qiuzhi', True, 'abcd', 785, 12.23, 'qiuzhi', True]
listB=[1,2,3,4,23,23,23]
listB.index(23) #返回的是第一个索引值
listB.index(value,start,maxsize) #返回的是一个索引值 在指定索引范围内查找value,返回第一个索引值
list- 增加- .append .insert .extend
listA=['abcd',785,12.23,'qiuzhi',True]
listA.append('2d3r') #追加操作
print(listA) #输出:['abcd', 785, 12.23, 'qiuzhi', True, '2d3r']
listA=['abcd',785,12.23,'qiuzhi',True]
listA.append([1,2,3,'11'])
print(listA) #输出:['abcd', 785, 12.23, 'qiuzhi', True, [1, 2, 3, '11']]
listA=['abcd',785,12.23,'qiuzhi',True]
listA.insert(1,'这是插入的内容') #插入操作,在某一位置进行插入
print(listA) #['abcd', '这是插入的内容', 785, 12.23, 'qiuzhi', True]
listA=['abcd',785,12.23,'qiuzhi',True]
listA.insert(1,[1,2,3,'11']) #插入操作,在某一位置进行插入
print(listA) #['abcd', [1, 2, 3, '11'], 785, 12.23, 'qiuzhi', True]
listA=['abcd',785,12.23,'qiuzhi',True]
rsData=list(range(10))
listA.extend(rsData) #拓展 批量添加 object is iterable
print(listA) #输出:['abcd', 785, 12.23, 'qiuzhi', True, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
listA=['abcd',785,12.23,'qiuzhi',True]
listA.extend("1q2w")
print(listA) #输出:['abcd', 785, 12.23, 'qiuzhi', True, '1', 'q', '2', 'w']
listA=['abcd',785,12.23,'qiuzhi',True]
rsData=range(10)
listA.extend(rsData)
print(listA) #输出:['abcd', 785, 12.23, 'qiuzhi', True, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
list- 修改- 根据索引直接修改
listA=['abcd',785,12.23,'qiuzhi',True]
listA[0]=100 #根据索引直接修改内容
print(listA) #输出:[100, 785, 12.23, 'qiuzhi', True]
list- 删除- del .pop .remove
listB=[1,2,3,4,23,23,23]
del listB[0] #删除列表中的第一个元素
del listB[2:3] #批量删除多项数据 slice
listB.remove(23) #移除指定的元素(第一个元素),参数是指定值 listB=[1,2,3,4,23,23,23] ,输出:[1, 2, 3, 4, 23, 23]
listB.pop(1) #移除指定的元素,参数是索引 .pop()默认删除最后一个元素
print(listB)
3. 元组
tuple- 新建
tupleA=()
print(id(tupleA)) #40632360
tupleA=('abcd',89,9.12,'peter',[1,2,3],(11,22,33)) #元组创建,不能进行修改
print(id(tupleA)) #42160696 重新赋值后,会新开辟一个存储空间
print(tupleA)
tuple- 查询
for item in tupleA:
print(item,end=' ') #遍历
pass
tupleA=('abcd',89,9.12,'peter',[1,2,3],(11,22,33))
print(id(tupleA))
print(tupleA[2:4]) #(9.12, 'peter'). 切片
tupleA=('abcd',89,9.12,'peter',[1,2,3],(11,22,33))
tupleA[::-1] #倒序 ((11, 22, 33), [1, 2, 3], 'peter', 9.12, 89, 'abcd')
tupleA[::-2] #倒序 ((11, 22, 33), 'peter', 89)
tupleA=('abcd',89,9.12,'peter',[1,2,3],(11,22,33))
print(tupleA[-2:-1:]) #负索引值 ([1, 2, 3],)
tupleA[-4:-1:] #(9.12, 'peter', [1, 2, 3])
不能修改
tupleA=('abcd',89,9.12,'peter',[1,2,3],(11,22,33))
tupleA[0]='qwerty'
print(tupleA) #TypeError: 'tuple' object does not support item assignment
可以对元组中的列表类型的数据进行修改
tupleA=('abcd',89,9.12,'peter',[1,2,3],(11,22,33))
tupleA[4][0]='qwe'
print(tupleA) #可以对元组中的列表类型的数据进行修改,!!!地址没有变 ('abcd', 89, 9.12, 'peter', ['qwe', 2, 3], (11, 22, 33))
.count 统计出现的次数
tupleC=(1,22,3,4,4,5,5,66,7,7,8,8,8)
print(tupleC.count(8)) #统计出现的次数 3
4. 字典
dictA={} #空字典
#添加字典数据
dictA['name']='小明'
dictA['age']=20
dictA['pos']='学生'
print(dictA) #{'name': '小明', 'age': 20, 'pos': '学生'}
dictB={'pro':'艺术','school':'北影'} #{'pro': '艺术', 'school': '北影'}
print(dictB)
print(len(dictB)) #2 字典长度,键值对数
dict- 新增、修改、删除
dictB={'pro':'艺术','school':'北影'} #{'pro': '艺术', 'school': '北影'}
dictB['pro'] #艺术 通过键获取对应的值
dictB['school']='香港大学' #{'pro': '艺术', 'school': '香港大学'} 修改键值对的值
dictB.update({'pro':'音乐'}) #修改 {'pro': '音乐', 'school': '北影'}
dictB.update({'age':'25'}) #新增 {'pro': '音乐', 'school': '北影', 'age': '25'}
del dictB['school'] #删除指定键 {'pro': '艺术'}
dictB.pop('pro') #{'school': '北影'}
print(dictB)
dictB={'pro':'艺术','school':'北影'} #{'pro': '艺术', 'school': '北影'}
#获取所有的键
dictB.keys() #dict_keys(['pro', 'school'])
#获取所有的值
dictB.values() #dict_values(['艺术', '香港大学'])
#获取所有的键值对
dictB.items() #dict_items([('pro', '艺术'), ('school', '北影')])
dictB={'pro':'艺术','school':'北影'} #{'pro': '艺术', 'school': '北影'}
for item in dictB.items():
print(item)
pass
#('pro', '艺术')
#('school', '北影')
dictB={'pro':'艺术','school':'北影'} #{'pro': '艺术', 'school': '北影'}
for key,value in dictB.items():
print(key+'=='+value)
pass
#pro==艺术
#school==北影
#排序
dictA={'pro': '音乐', 'school': '北影', 'age': '25'}
print(sorted(dictA.items(),key=lambda d:d[0])) #按照key排序 [('age', '25'), ('pro', '音乐'), ('school', '北影')]
print(sorted(dictA.items(),key=lambda d:d[1])) #按照value排序 [('age', '25'), ('school', '北影'), ('pro', '音乐')]
5. 共有方法 + * in
合并+ 字符串 列表 元组
strA='人生苦短'
strB='我用Python'
print(strA+strB) #人生苦短我用Python
listA=[1,2]
listB=[3,4]
print(listA+listB) #[1, 2, 3, 4]
tupleA=(1,2,'1')
tupleB=(3,4,'2')
print(tupleA+tupleB) #(1, 2, '1', 3, 4, '2')
复制* 字符串 列表 元组
strA='人生苦短'
print(strA*3) #复制 人生苦短人生苦短人生苦短
listB=[3,4]
print(listB*3) #[3, 4, 3, 4, 3, 4]
tupleA=(1,2,'1')
print(tupleA*5) #(1, 2, '1', 1, 2, '1', 1, 2, '1', 1, 2, '1', 1, 2, '1')
判断是否存在in 字符串 列表 元组 字典
strA='人生苦短'
print('人' in strA) #True
print('NI' in strA) #False
listA=[1,2]
print(2 in listA) #True
dictD={'name':'Jane','age':'20'}
print('name' in dictD) #True