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 2
   1 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:
        pass
    else:
        li.append(username)
        n = n+1
        print(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] = b
    s[-(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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值