今日主要内容:
列表基本操作!
一,我们先来复习一下昨天内容
1,编码
ASCII:字母,数字,特殊字符:1个字节,8位
Unicode:16位 两个字节 升级 32 位 四个字节(万国码)
UTF-8:最少一个字节 8位表示。
英文 8位, 1个字节
欧洲16位,2个字节
中文24位,3个字节
int:bit_ lenth()
bool:True False
str: str —>bool : bool(str): ’ '—>False
3,字符串高级操作
captlze首字母大写
upper()全大写
lower()全小写
find通过元素找索引,找不到-1
index()通过元素找索引,找不到 报错
swpcase 大小写翻转
repalce(old,new,count) 若不写次数默认全部。
isdigit() 返回bool值,判断字符串是不是全是数字
isapha()
isnumpha()
startswith endswith 判断是不是以什么维开头/结尾
title 首字母大写
center()居中
strip() lstrip() rstrip() 默认删除空格,但是可以删除任何东西。
Split (很重要)
len() 长度
count 计数
for i in 可迭代对象:
pas
二,接下来做几个小练习
问题一:在字符串s中,实现s1=‘123’
s = '132a4b5c'
s1 = s[0]+s[2]+s[1]
print(s1)
问题二:使用while和for循环分别打印字符串s=’asdfer’中每个元素。
#第一种方法
for i in s:
print(i)
#第二种方法:
index = 0
while 1:
print(s[index])
index += 1
if index == len(s):
break
问题三:实现整数加法器。如:content = input(‘请输入内容:’) # 如用户输入:5+9或5+ 9或5 + 9,然后进行分割再进行计算。
#方法一
content = input('>>>').strip()#用户输入可能有空格,我们需要去掉。
con1 = content.split('+')# con1是列表
num = 0
for i in con1: #for循环 用于可迭代对象
num += int(i)
print(num)
#方法二:
content = input('>>>').strip()
index = content.find("+")#找到+的位置
a = int(content[0:index])
b = int(content[index+1:])
print(a + b)
问题四:咱们任意输入一串文字+数字 统计出来数字的个数。
s = input("请输入:")
count = 0
for i in s:
if i.isdigit():
count += 1
print(count)
三,列表
1,某公司HR 想持续的把一批人的名字加入到公司的新名单之中。
li = ['faker', 'uzi', 'letme', 'egon', '女神']
while 1:
username = input('>>>')
if username.strip().upper() == 'Q':
break
else:
li.append(username)
print(li)
#补充一点小知识
li.insert(4, '春哥') #在索引之前插入对象
print(li)
li.extend('二哥') #extend list by appending elements from the iterable
li.extend([1, 2, 3])
print(li)
输出结果:
nanshan
q
[‘faker’, ‘uzi’, ‘letme’, ‘egon’, ‘女神’, ‘nanshan’]
[‘faker’, ‘uzi’, ‘letme’, ‘egon’, ‘春哥’, ‘女神’, ‘nanshan’]
[‘faker’, ‘uzi’, ‘letme’, ‘egon’, ‘春哥’, ‘女神’, ‘nanshan’, ‘二’, ‘哥’, 1, 2, 3]
2,删除
li = ['faker', 'uzi', 'letme', 'egon', '女神']
name = li.pop(1) # 存在返回值,按索引删除字符串
name = li.pop() # 默认删除最后一个
print(name, li)
li.remove('faker') # 按元素去删除
print(li)
li.clear() # 清空
print(li)
del li[0:2] # 切片去删除
del li
print(li) #上一行代码已经删除列表,因此这里程序运行时会报错
输出结果:
女神 [‘faker’, ‘letme’, ‘egon’]
[‘letme’, ‘egon’]
[]
程序报错!!!
3,修改
li = ['faker', 'uzi', 'letme', 'egon', '女神']
print(li)
li[0] = '男兽' #通过索引位置直接进行修改
li[0] = [1, 2, 3]
print(li)
li[0:3] = '云姐hello python'
print(li)
li[0:3] = [1, 2, 3, '春哥', '咸鱼哥']
print(li)
输出结果:
[‘faker’, ‘uzi’, ‘letme’, ‘egon’, ‘女神’]
[[1, 2, 3], ‘uzi’, ‘letme’, ‘egon’, ‘女神’]
[‘云’, ‘姐’, ‘h’, ‘e’, ‘l’, ‘l’, ‘o’, ’ ', ‘p’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’, ‘egon’, ‘女神’]
[1, 2, 3, ‘春哥’, ‘咸鱼哥’, ‘e’, ‘l’, ‘l’, ‘o’, ’ ', ‘p’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’, ‘egon’, ‘女神’]
5,查看
li = ['faker', 'uzi', 'letme', 'egon', '女神']
for i in li:
print(i)
num = li.count('faker') #查出现的次数
print(num)
print(li.index('uzi')) #查出现的位置
输出结果:
faker
uzi
letme
egon
女神
1
1
6,排序
li = [1, 5, 4, 7, 6, 2, 3]
#正向排序
li.sort()
print(li)
#反向排序
li.sort(reverse=True)
print(li)
#反转
li.reverse()
print(li)
输出结果:
[1, 2, 3, 4, 5, 6, 7]
[7, 6, 5, 4, 3, 2, 1]
[1, 2, 3, 4, 5, 6, 7]