本文主要是介绍python(字符串及其函数、列表list及其函数、tuple、实例---随机点名),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
学习目标:
Python学习四、
学习内容:
1、字符串及其函数
2、列表list及其函数
3、tuple
4、实例
1、字符串及其函数
- 字符串:它是一个有序的字符的集合,用于存储和表示基本的文本信息,‘’或“”或‘’‘ ’‘’中间包含的内容称之为字符串
字符串特性:范围内只能放一个值、不可变、从左到右并且从脚标[0]开始读取
1、字母处理:
.upper():全部大写
.lower():全部小写
.swapcase():大小写互换
.capitalize():首字母大写,其余小写
.title():首字母大写
zifu='Hello World!!!'
print(zifu.upper())
print(zifu.lower())
print(zifu.swapcase())
print(zifu.capitalize())
print(zifu.title())
输出:
HELLO WORLD!!!
hello world!!!
hELLO wORLD!!!
Hello world!!!
Hello World!!!
2、格式化相关
.ljust(width) : 获取固定长度,左对齐,右边不够用空格补齐
.rjust(width) : 获取固定长度,右对齐,左边不够用空格补齐
.center(width): 获取固定长度,中间对齐,两边不够用空格补齐
.zfill(width) : 获取固定长度,右对齐,左边不足用0补齐
a='1 2'
print(a.ljust(10)) # 获取固定长度,左对齐,右边不够用空格补齐
print(a.rjust(10)) # 获取固定长度,右对齐,左边不够用空格补齐
print(a.center(10)) # 获取固定长度,中间对齐,两边不够用空格补齐
print(a.zfill(10)) # 获取固定长度,右对齐,左边不足用0补齐
执行结果:
1 2 1 21 2
00000001 2
3、字符串相关搜索
.find() :搜索指定字符串,没有返回-1
.index() :同上,但是找不到会报错
.rfind() :从右边开始查找
.count() :统计指定的字符串出现的次数
zifu='Hello World!!!'
print(zifu.find('o'))
print(zifu.find('w',1,2))
print(zifu.index('W'))
print(zifu.count('o'))
print(zifu.rfind('o'))
结果:
4
-1
6
2
7
4、字符串替换
.replace(‘old’,‘new’) :替换old为new
.replace(‘old’,‘new’,次数) :替换指定次数的old为new
zifu='Hello World!!!'
print(zifu.replace('H','h'))
print(zifu.replace('o','y',3))
hello World!!!
Helly Wyrld!!!
5、字符串去空格以及指定字符
.strip() :去两边空格
.lstrip() :去左边空格
.rstrip() :去右边空格
.split() :默认按空格分隔
.split(‘指定字符’) :按指定字符分割字符串为数组
zifu=' He ll o Wo rld!!! '
print(zifu.strip())
print(zifu.lstrip())
print(zifu.rstrip())
print(zifu.split())
print(zifu.split('l'))
He ll o Wo rld!!!
He ll o Wo rld!!! He ll o Wo rld!!!
['He', 'll', 'o', 'Wo', 'rld!!!']
[' He ', '', ' o Wo r', 'd!!! ']
6、字符串判断相关
.startswith(‘start’):是否以start开头
.endswith(‘end’):是否以end结尾
.isalnum():是否全为字母或数字
.isalpha():是否全字母 .isdigit():是否全数字
.islower():是否全小写 .isupper():是否全大写
.istitle():判断首字母是否为大写
.isspace():判断字符是否为空格
7、range()函数
- range()函数:可以生成一个整数序列(其传递的值为整数)
for j in range(11):print(j)
输出:
0
1
2
3
4
5
6
7
8
9
10
8、len()函数
len函数可以计算字符串长度
x = 'runoob'
for i in range(len(x)):print(i)
print(len(x))
输出:
0
1
2
3
4
5
6
9、补充内容
’ '.join:指定字符连接序列中元素后生成的新字符串
bin():十进制数转八进制
hex():十进制数转十六进制
type():查看数据类型
format():格式化字符串,类似%s,传递值能多不能少
zifu='Hello World!!!'
for i in range(len(zifu)):print(i)
print(type(zifu))
0
1
2
3
4
5
6
7
8
9
10
11
12
13
<class 'str'>
2、列表及其函数
- Python内置的一种数据类型是列表:list,list是一种有序的集合,可以随时添加和删除其中的元素
1、按要求列出列表集合元素的个数
len():
username = ['Michael', 'Bob', 'Tracy', 'Tom', 'Jack', 'Amy', 'Anny']
print(len(username))
print(username[2])
输出:
7
Tracy
2、当倒数时,可以用负数来读取列表的元素
username = ['Michael', 'Bob', 'Tracy', 'Tom', 'Jack', 'Amy', 'Anny']
print(username[-3])
输出:
Jack
3、list是一个可变的有序表,可以把元素插入到指定的位置
append()函数:
username = ['Michael', 'Bob', 'Tracy', 'Tom', 'Jack', 'Amy', 'Anny']
username.append('Adam')
print(username)
输出:
['Michael', 'Bob', 'Tracy', 'Tom', 'Jack', 'Amy', 'Anny', 'Adam']
insert()函数:
username = ['Michael', 'Bob', 'Tracy', 'Tom', 'Jack', 'Amy', 'Anny']
username.insert(2,'Alice')
print(username)
输出:
['Michael', 'Bob', 'Alice', 'Tracy', 'Tom', 'Jack', 'Amy', 'Anny']
4、删除list末尾的元素用pop()方法
pop()函数:
- 默认删除最后一个元素pop()
username = ['Michael', 'Bob', 'Tracy', 'Tom', 'Jack', 'Amy', 'Anny']
username.pop()
print(username)
输出:
['Michael', 'Bob', 'Tracy', 'Tom', 'Jack', 'Amy']
- 指定删除某一元素pop(i)
username = ['Michael', 'Bob', 'Tracy', 'Tom', 'Jack', 'Amy', 'Anny']
username.pop(3)
print(username)
输出:
['Michael', 'Bob', 'Tracy', 'Jack', 'Amy', 'Anny']
5、直接根据脚标指定替换某一元素
username = ['Michael', 'Bob', 'Tracy', 'Tom', 'Jack', 'Amy', 'Anny']
username[2] = 'yang'
print(username)
输出:
['Michael', 'Bob', 'yang', 'Tom', 'Jack', 'Amy', 'Anny']
6、list列表中也可以包含另一个列表
username = ['Michael', 'Bob', ['Tracy', 'Tom', 'Jack'], 'Amy', 'Anny']
print(len(username))
输出:
5
- 当想输出Jack时可以
username = ['Michael', 'Bob', ['Tracy', 'Tom', 'Jack'], 'Amy', 'Anny']
print(s[2][2])
输出:
Jack
3、tuple
- 另一种有序列表叫元组:tuple列表及其函数,tuple和list非常类似
- tuple一旦初始化就不能修改
1、tuple值得注意的是
- 当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来
- 定义一个空的tuple,可以写成()
t = ()
print(t)
只有1个元素的tuple定义时必须加一个逗号
,
(以免你误解成数学计算意义上的括号)
t = (1,)
print(t)
(1,)
2、tuple中的元素不可变,但是元素的元素可变
tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向’a’,就不能改成指向’b’,指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的
4、实例:
1、随机输出名字进行点名
#第一种方法
input_num = int(input('请输入'))
lists = ['王大毛','王二毛','王三毛','王四毛','王五毛']
for i in range(input_num):num = random.randrange(len(lists))print(lists.pop(num))
#第二个方法
lists = ['王大毛','王二毛','王三毛','王四毛','王五毛']
li = []
n = 0
while True:input_num = int(input('请输入'))username = lists[random.randrange(len(lists))]if username in li:passelse:li.append(username)n = n+1print(username)if n == input_num:break
#第三个方法
import random
num = int(input('请输入:'))
n_set = set([])
l_set = lists = ['王大毛','王二毛','王三毛','王四毛','王五毛']
while True:c = random.choice(l_set)n_set.add(c)if len(n_set)==num:for i in n_set:print(i)break
#随机不重复选取元素
import random
a = [1,2,3,4,5,6]
c = []
while True:b = random.choice(a)if b not in c:c.append(b)elif len(c)==3:break
print(c)
2、按要求对下列字符串进行实验:
s = ‘aasadaDSFSDFsfdsf’
- 进行字符串颠倒
s = 'aasadaDSFSDFsfdsf'
s = [x for x in s]
print(s)
for i in range(len(s)//2):a = s[i]b = s[-(i+1)]s[i] = bs[-(i + 1)] = a
s = ''.join(s)
print(s)
输出:
['a', 'a', 's', 'a', 'd', 'a', 'D', 'S', 'F', 'S', 'D', 'F', 's', 'f', 'd', 's', 'f']
fsdfsFDSFSDadasaa
- 分别进行遍历
s = 'aasadaDSFSDFsfdsf'
for i in range(-1,-18,-1):
print(s[i])
输出:
f
s
d
f
s
F
D
S
F
S
D
a
d
a
s
a
a
这篇关于python(字符串及其函数、列表list及其函数、tuple、实例---随机点名)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!