python22期第二天 内容总结 (1.1 字符串-格式化输出-列表-字典-元组)
课程内容列表:
- 字符串
- 格式化输出运算符
- 列表
- 列表的嵌套
- tuple 元组
- range 使用
- 字典的增删查改
- 字典的嵌套及数据类型的补充
1.字符串
1.1 字符串相加
s1 = 'A '
s2 = 'B'
print(s1 + s2)
1.2 字符串索引
s = 'alexwusirritian'
s1 = s[0]
print(s1,type(s1))
s2 = s[2]
print(s2)
s3 = s[-1]
print(s3)
s4 = s[-2]
print(s4)
1.3 索引切片:顾头不顾尾
格式:s[起始索引:结束索引+1:步长]
s5 = s[0:4]
s5 = s[:4]
s6 = s[4:9]
s7 = s[:]
s8 = s[:5:2]
s9 = s[-1:-5:-1]
1.4 字符串常用方法:
s = 'alexWUsir'
# ** capitalize 首字母大写其余字母小写
# s1 = s.capitalize()
# print(s1)
# ** 大小写翻转
# s2 = s.swapcase()
# print(s2)
# *title 非字母隔开的每个单词的首字母大写
# s = 'alex wusir*taibai2ritian'
# s3 = s.title()
# print(s3)
# center
# *center 设置总长度,并居中
# s4 = s.center(30,)
# s4 = s.center(30,'*')
# print(s4)
#*** upper() lower()
# s5 = s.upper()
# print(s5)
# code = 'AwEqr'
# username= input('请输入用户名:')
# your_code = input('请输入验证码:')
# if username == 'alex' and your_code.upper() == code.upper():
# print('验证成功')
s = 'alexWUsir'
# ***startswith endswith
# s6 = s.startswith('a')
# s6 = s.startswith('alex')
# s6 = s.startswith('WS', 4,)
# print(s6)
s = ' alexWUsir\t'
# *** strip 默认去除字符串前后的空格,换行符,制表符。
# 去除的元素可自定制。
#lstrip(),rstrip()
# s7 = s.strip()
# print(s7)
# ss = 'abclaonanhaiq'
# ss1 = ss.strip('abqc')
# print(ss1)
'''
username = input('>>>').strip()
password = input('>>>').strip()
if username == '老男孩' and password == '123':
print('登录成功')
'''
# *** replace 替换
# s = 'alex 分甘共苦老地方 alex 风刀霜剑卡乐芙'
# s8 = s.replace('alex', 'SB')
# s8 = s.replace('alex', 'SB',1)
# print(s8)
#***split 分隔,str ---> list
# s1 = 'alex wusir taibai ritian'
# s2 = 'alex,wusir,taibai,ritian'
# s3 = 'alexwusirtaibairitian'
# s4 = 'alexwusirtaibairitian'
# l1 = s1.split() # 默认以空格分隔
# l2 = s2.split(',')
# l3 = s3.split('a')
# l4 = s4.split('a',2)
# print(l4)
# s = '老男孩'
# ***join list---> str
# l1 = ['alex', 'wusir', 'ritian']
# s10 = ' '.join(l1)
# print(s10,type(s10))
s = 'alexwausir'
# ***find index 通过元素找索引
# find 找不到返回-1
# index找不到会报错
# s11 = s.find('e')
# s12 = s.find('ex')
# print(s11,type(s11))
# print(s12,type(s12))
# s11 = s.find('a',1)
# print(s11)
# print(s.find('A'))
# print(s.index('A'))
# format
# s = "我叫{},今年{},爱好{}"
#第一种用法
# s12 = s.format('太白', '25', '女')
# print(s12)
#第二种用法
# s1 = "我叫{0},今年{1},爱好{2},我依然叫{0}"
# s13 = s1.format('太白', '25', '女')
# print(s13)
#第三种用法
# s3 = "我叫{name},今年{age},爱好{hobby}"
# s14 = s3.format(age=25,hobby='girl',name='太白')
# print(s14)
# 公共方法:
#len 测量个数
# print(len(s))
# #count
# print(s.count('a'))
# name = '123'
# print(name.isalnum()) #字符串由字母或数字组成
# print(name.isalpha()) #字符串只由字母组成
# print(name.isdigit()) #字符串只由数字组成
'''
str ---> int 字符串全部由数字组成 int('123')
int ---> str str(1)
布尔值返回值:
int ---> bool 0---> False 非0 ---> True bool(1)
# print(bool(100))
# print(bool(-1))
# print(bool(0))
bool --> int True 1 False 0
print(int(True))
print(int(False))
str ---> bool 非空 True 空字符串 False
print(bool(''))
print(bool('fdsaf'))
bool ---> str
# print(str(True),type(str(True)))
str ---> list split
list --> str join
'''
2. 格式化输出
格式化输出 % 占位符 s d
例子:
name = input('请输入名字:') age = input('请输入年龄:') job = input('请输入职业:') hobbie = input('请输入爱好:') msg = '''------------ info of %s ----------- Name : %s Age : %d job : %s Hobbie: %s ------------- end ----------------- ''' % (name, name, int(age), job, hobbie) print(msg)
如何在格式化祖父穿中显示%
print('我叫%s,今年%d,学习进度2%%' % ('老男孩', 10000))
and or not
前后都是比较运算
优先级:() > not > and > or
print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8)
2, 前后都是数值
'''
0 是False 非0 都是True
x or y if x is True,return x
'''
3. 列表的使用
按照索引取值,与元素本身的数据类型一致
按照切片取值,取出来的是小列表。
li = [1, (2, 3), 2, 3, 4, 5, 6,] l1 = li[:3] print(l1) print(li[0],type(li[0])) print(li[1],type(li[1])) l2 = li[:] print(l2)
列表增加值
l = ['WuSir', 'alex', 'OldBoy', 'barry'] 追加 append() l.append('景女神') l.append(1) l.append([1, 2, 3]) print(l)
使用索引在列表指定位置加数据
insert l.insert(1, '葫芦') print(l)
# extend
# l.extend('abc')
# l.extend([1, '2122', 56])
# print(l)
通过位置索引删除数据
按照索引删除pop ret = l.pop(1) print(ret)
按照元素去删除 remove
l.remove('alex') print(l)
clear 清空列表
l.clear() print(l)
del 删除列表,列表就不存在了
del l print(l)
del l[1] print(l)
del l[:3] print(l)
'''
1 删除列表。
2,按照索引删除。
3.可以按照切片去删除。
'''
改列表
按照索引改
l[0] = '日天'
l[2] = '老男孩'
# 按照切片去改
l[:3] = 'abcdgfdljgkfdgjlfdlgjfdsaklfdjskladsfj' l[:3] = 'a' l[:3] = [11, 22, 33, 44]
加步长 必须一一对应
# l[:3:2] = 'ab'
# print(l)
# 查
#按照索引,切片(步长)
#for 循环遍历。
# for i in l:
# print(i)
# 其他方法
# print(len(l)) # 总个数
# print(l.count('WuSir')) # 某个元素出现的次数
# l1 = [1, 9, 8, 4, 3, 2, 6,]
# l1.sort() # 正序排序
# print(l1)
# l1.sort(reverse=True) # 倒叙排序
# print(l1)
# l1.reverse() # 翻转
# print(l1)
4. 列表的嵌套
l1 = [1, 2, 'alex', ['WuSir', 'taibai', 99], 6]
将alex该成Alex
l1[2] = l1[2].capitalize()
将'WuSir'变成全部大写。
l1[3][0] = l1[3][0].upper() print(l1)
99让其通过数字加1的方式变成 '100'.
l1[3][-1] = str(l1[3][-1] + 1) print(l1)
5. 元组的使用
#元组 只读列表。 tu = (1, 2, 33, 'alex') print(tu[1]) print(tu[:-1]) for i in tu: print(i) tu1 = (1, 2, [1, 3,], 4) tu1[2].append(666) print(tu1) range print(range(100)) for i in range(100): print(i) for i in range(1,11): print(i) for i in range(2, 101, 2): print(i) for i in range(100,0,-1): print(i) l1 = [1, 2, 3, 4, 5, 'alex'] for i in range(len(l1)): print(i)
5. 字典的增删查改
dic = {
'name': '老男孩',
'age': 10000,
'sex': '男',
}
# 增
dic['hobby'] = 'old_girl' # 无责增加,有责修改。 dic['name'] = 'alex' print(dic) dic.setdefault('high') # 有key则不修改,无责添加。 dic.setdefault('high', 169) dic.setdefault('name', 'wusir') print(dic)
# 删
print(dic.pop('name')) # 返回值 # dic.pop('name1',None) print(dic) popitem 随机删除 有返回值 print(dic.popitem()) print(dic) #clear dic.clear() print(dic) del dic print(dic) del dic['name'] print(dic) '''
按照键去删除键值对
'''
# 改
dic['name'] = 'alex' # 无责增加,有责修改。 print(dic) dic = {"name": "jin", "age": 18,"sex": "male"} dic2 = {"name": "alex", "weight": 75} dic2.update(dic) # 将dic里面的键值对覆盖并更新到dic2中,dic不变 。 print(dic) # {'name': 'jin', 'age': 18, 'sex': 'male'} print(dic2) # {'name': 'jin', 'weight': 75, 'age': 18, 'sex': 'male'}
# 查
print(dic['name']) print(dic['name1']) print(dic.get('name')) print(dic.get('name1','没有此键...')) print(dic.keys()) # 类似于列表的一个容器,没有索引 for i in dic.keys(): print(i) for i in dic: print(i) print(dic.values()) print(dic.items()) for i in dic.items(): print(i)
# 分别赋值
a, b = 1 ,3 a, b = [22, 33] print(a,b) for k, v in dic.items(): print(k, v)
6.字典的嵌套及数据类型的补充
dic = {'name_list':['高猛', '于其',],
1:{
'alex': '李杰',
'high': '175',
}
}
['高猛', '于其',] 追加一个元素'wusir',
2, {'alex': '李杰','high': '175' } 增加一个键值对 'sex': man,
dic['name_list'].append('wusir') print(dic) print(dic[1]) dic[1]['sex'] = 'man' print(dic)
l1 = [11, 22, 33, 44, 55]
将索引为奇数对应的元素删除。
del l1[1::2]
print(l1)
# 再循环一个列表时,不要改变列表的大小,这样会影响结果。
# dictionary changed size during iteration
# 再循环一个字典时,不要改变字典的大小,这样会影响结果。
dic = {'k1': 'v1', 'k2': 'v2', 'k3':'v3', 'name':'alex'}
for k in dic:
if 'k' in k:
dic.pop(k)
print(dic)
s1 = 'abc'
print('a' in s1)
l1 = []
for i in dic:
if 'k' in i:
l1.append(i)
print(l1)
for i in l1:
del dic[i]
print(dic)

浙公网安备 33010602011771号