python(字符串及其函数、列表list及其函数、tuple、实例---随机点名)

2024-02-28 04:20

本文主要是介绍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、实例---随机点名)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/754397

相关文章

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Python Websockets库的使用指南

《PythonWebsockets库的使用指南》pythonwebsockets库是一个用于创建WebSocket服务器和客户端的Python库,它提供了一种简单的方式来实现实时通信,支持异步和同步... 目录一、WebSocket 简介二、python 的 websockets 库安装三、完整代码示例1.

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Kotlin 作用域函数apply、let、run、with、also使用指南

《Kotlin作用域函数apply、let、run、with、also使用指南》在Kotlin开发中,作用域函数(ScopeFunctions)是一组能让代码更简洁、更函数式的高阶函数,本文将... 目录一、引言:为什么需要作用域函数?二、作用域函China编程数详解1. apply:对象配置的 “流式构建器”最

Java中List的contains()方法的使用小结

《Java中List的contains()方法的使用小结》List的contains()方法用于检查列表中是否包含指定的元素,借助equals()方法进行判断,下面就来介绍Java中List的c... 目录详细展开1. 方法签名2. 工作原理3. 使用示例4. 注意事项总结结论:List 的 contain

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

C#数据结构之字符串(string)详解

《C#数据结构之字符串(string)详解》:本文主要介绍C#数据结构之字符串(string),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录转义字符序列字符串的创建字符串的声明null字符串与空字符串重复单字符字符串的构造字符串的属性和常用方法属性常用方法总结摘