python基础------字符串、列表、元组、字典、集合、函数

2023-10-27

1. 字符串

在这里插入图片描述

2. 列表

在这里插入图片描述

列表的删除方法:
在这里插入图片描述
在这里插入图片描述

2.1. 列表的增、删、改、查、排序、遍历

# a)创建一个空列表。
ls=[]
# b)向列表中添加元素,'红烧鸡翅',并查看列表
ls.append('红烧鸡翅')
# c)接着向列表中最前面添加1个元素,32,并查看列表
ls.insert(0,32)
print(ls)
# d)接着向列表中最前面添加1个元素,'红烧肉',并查看列表
ls.append('红烧肉')
print(ls)
# e)删除元素,红烧鸡翅,并查看列表
ls.remove('红烧鸡翅')
print(ls)
# f)再将最后一个元素删除,并查看列表
del ls[-1]
print(ls)
# g)将32改为42。
ls[0]=42
print(ls)
# h)将7,9,1这三个元素加入。
ls.append(7)
ls.append(9)
ls.append(1)
print(ls)
# i)遍历列表中的元素。
for i,j in enumerate(ls,start=1):
    print(i,j)
# j)将列表中的元素排序并输出。
ls.sort()
print(ls)
#列表添加、删除、插入
b=['班级',['1901','1902','1903']]
b[1].append('1904')
b[1].remove('1902')
b[1].insert(1,'1601')
print(b)

3. 元组

a=[('a',1),('b',3),('f',4),('e',2)]
元组修改方法一
a.pop(1)
a.insert(1,('b',70))
print('a={}'.format(a))
元组修改方法二
a[2]=list(a[2])
a[2][1]=7
a[2]=tuple(a[2])
print('a={}'.format(a))
# 第一种排序方式
a.sort(key=operator.itemgetter(1))
# 第二种排序方式
a.sort(key=lambda a:a[0])
print(a)
def sort():
    return a[0]
sort()
lambda a:a[0]
b='andkkggk'
c=' '.join(b)
print(c)
d=' '.join(a)
print(d)
# 元组添加、删除、插入
a=('人工智能学院',['1601','1602','1603'])
a[1].append('1604')
a[1].remove('1602')
a[1].insert(1,'1601')
print(a)

4. 集合

#集合创建
#方法一
a={'中国','美国','英国'}
#方法二
b=['中国','美国','英国']
c=set(b)
#方法三
d=set('HELLO WORLD')
集合的添加、删除
a.add('俄国')#元素添加
a.remove('中国')#元素删除
a.pop()#随机删除一个
a.clear()#清空
a.discard('美国')#元素的删除
menu={('电影','票价','评分'),('姜子牙',60,8.3),('夺冠',65,9.1),('金刚川',50,9.4),('汪汪队立大功',70,8.2)}
menu1={('姜子牙',60,8.3),('金刚川',50,9.4),('11',34,45)}
menu.intersection(menu1)    #交集
print(menu & menu1)
menu.union(menu1)           #并集
print(menu | menu1)
menu.difference(menu1)      #差集
print(menu - menu1)
menu.symmetric_difference(menu1)    #交叉补集
print(menu ^ menu1)

5.字典

# 字典的遍历
books = {'Ben': '13800897658', 'Helen': '13100349319'}
#字典的查(查)
print(books['Helen'])
# 字典的添加(增)
books['lkjh']='1234567'
# 字典的删除
# del books['Ben']
# books.pop('Helen')
# 字典的修改
books['Ben']=133333333333
print(books)
b=books.get('Helen')
print(b)
# 字典的遍历(3种)
for i in books.keys():
    print(i,books[i])
for i,j in enumerate(books,start=1):
    print(i,j,books[j])
for i,j in books.items():
    print(i,j)
for j in books.values():
    print(j)
# a)创建一个空字典d0,并查看类型。
d0=dict()
print(type(d0))
# b)创建一个有2个键值对的字典d1:"k1":"v12","k10":"v10"
d1={"k1":"v12","k10":"v10"}
print(d1)
# c)用添加方法将以下元素加入字典"k2":"v2","k3":"v3"。
d1['k2']='v2'
d1['k3']='v3'
print(d1)
# d)请获取字典中"k2"对应的值
print(d1['k2'])
# e)修改元素"k1"的值为"v1"
d1['k1']='v1'
print(d1)
# f)删除元素"k10":"v10",并输出字典d1。
del d1['k10']
print(d1)
# g)请循环遍历出d1所有的key
for i in d1.keys():
    print(i)
# h)请循环遍历出d1所有的value
for i in d1.values():
    print(i)
# i)循环遍历出所d1有的key和value
for i,j in d1.items():
    print(i,j)
# j)删除字典中键为"k5"的元素,结果提示‘没有这个元素’。
for i in d1.keys():
    if i!='k5':
        # del d1['k5']
        print('没有这个元素')
        break

6. 自定义函数

6.1 普通函数(有参和无参、有返回值和无返回值)

# a)创建函数fun1 实现2个数的和,要求有参无返
def fun1(a,b):
    print(a+b)

fun1(3,4)
# b)创建函数fun2 实现2个数的差,要求无参无返
def fun2():
    a=int(input('请输入a:'))
    b=int(input('请输入b:'))
    if a>b:
        print(a-b)
    else:
        print(b-a)

fun2()
# c)创建函数fun3 实现2个数的积,要求有参有返
def fun3(j,k):
    return j*k

print(fun3(3,4))
# d)创建函数fun4 实现2个数的商,要求无参有返
def fun4():
    a = int(input('请输入a:'))
    b = int(input('请输入b:'))
    c=a/b
    return c

print(fun4())

6.2 普通函数(位置参数、非关键字可变长参数、关键字可变长参数)

# 参数:非关键字变长参数,类型为字符串;
def fun2(*args):
    str1=''
    for i in args:
        str1+=''.join(i)
        # print(str1)
    return str1

print(fun2('i', 'love', 'you'))
print(fun2('i', 'love', 'you', 'can', 'you', 'see'))

参数:关键字变长参数
def get_money(**kwargs):
    print(type(kwargs))
    s=kwargs.get('salary','')
    if s:
        for i,j in kwargs.items():
            print(i,j)
    else:
        print(kwargs['name'])
get_money(name='zhangsan',salary=10000)

6.3 匿名函数

# 创建匿名函数完成输入英文的转大写
(lambda x:print(x.upper()))('shdjjkkkhh')

# 匿名函数计算矩形面积 a为长默认10 b为宽默认5,调用使用(100, 50)测试
(lambda a=10,b=5:print(a*b))(100,50)

6.4 递归函数

# 定义一个递归函数Fibon,功能是:输出斐波那契数列Leonardoda Fibonacci的前20项的数字
def Fibon(a):
    if a==2 or a==1:
        return 1
    else:
        return Fibon(a-1)+Fibon(a-2)
for i in range(1,21):
    print(Fibon(i))

7.总结
在这里插入图片描述
在这里插入图片描述

8. 练习

# 1、写一个匿名函数(参数为n),返回值为数字n的平方根,调用并输出2.56的方根。
print((lambda n:n**0.5)(2.56))

# 2、写一个有参匿名函数(参数nm,带缺省值“刘六”,参数learn,默认为“python”),
# 返回值:“XX(即nm)要努力学习XX(即learn)”,调用并输出。
print((lambda nm='刘六',learn='python':f'{nm}要努力学习{learn}')())
# 3、写一个有参有返函数number(参数为c),计算出一个英语单词c中的字母数.调用它并计算homework中的字母数量
def number(c):
    return len(c)

print(number('homework'))
# 4、写一个无参无返函数login(),当用户名为usr,并且密码为12345之时,输出登录成功,否则登录失败,并调用它。
def login():
    a=input('请输入用户名:')
    b=int(input('请输入密码:'))
    if a=='usr' and b==12345:
        print('登录成功')
    else:
        print('登录失败')

login()
# 5、定义一个无参有返函数low_choose,输入一个字符串(包含大小写字母及数字)时,挑出并返回其中的小写字母。
# 例如:当输入'Hello2021'时,输出ello
import string
def low_choose():
    c=input('请输入一个字符串:')
    c=list(c)
    ls=[]
    for i in c:
        if i in string.ascii_lowercase:
            ls.append(i)
    c=''.join(ls)
    return c

print(low_choose())
# 6、a为1个集合,写一个函数move(a),实现:删除这个集合(元素均为数)的最大值并且输出,调用move({1,4,5,2,10,12})
def move(a):
    a=list(a)
    a.sort(reverse=True)
    del a[0]
    a=set(a)
    print(a)

move({1,4,5,2,10,12})
# 7、写一个函数my_sort(tp),参数是一个元组,把tp中所有元素的从大到小排序输出。调用my_sort,对(1,4,5,2,10,12)排序输出。
def my_sort(tp):
    tp=list(tp)
    tp.sort(reverse=True)
    print(tuple(tp))
my_sort((1,4,5,2,10,12))
# 8、用递归函数readb实现阅读提高,具体如下:第一天读书10页,后一天比前一天读书多2页,这样推算,30天后每天读书多少页?
def readb(a):
    if a==1:
        return 10
    else:
        return readb(a-1)+2

print(readb(30))
# 9、写函数my_aver,传参采用非关键字可变长参数,实现功能:可以接收任意多个数字,能够输出这些数字的数学期望(即:平均值)。
def my_aver(*args):
    return sum(args)/len(args)

print(my_aver(1, 4, 5, 8, 8, 4))
# 10、①写一个函数figure,参数采用**kwargs,即关键字可变长参数,实现相关信息采集。
# ②函数体内使用for循环遍历关键字变长参数中所有的值,并保存到一个列表lt中;
# ③将列表lt作返回值;
# 调用时,输入人物的以下信息:pole=“欧阳克”;age=22;sex=“男”;武器=’剑’
def figure(**kwargs):
    lt=[]
    for i in kwargs.values():
        lt.append(i)
    return lt

print(figure(pole='欧阳克', age=22, sex='男', 武器='剑'))

# 11、a)定义无参函数collect(),实现:用户从键盘输入单个字母,每次输入1个,直到5个之后退出,
# b)再将这些所有的字母排除重复之后输出。效果如下:
def collect():
    ls=[]
    while True:
        a=input('请输入单个字母:')
        ls.append(a)
        if len(ls)>=5:
            break
    l=set(ls)
    ll=''.join(l)
    print(f'你刚才输入的字母是:{ll}')
collect()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python基础------字符串、列表、元组、字典、集合、函数 的相关文章

  • 让 VoiceChannel.members 和 Guild.members 返回完整列表的问题

    每当我尝试使用 VoiceChannel members 或 Guild members 时 它都不会提供适用成员的完整列表 我从文本命令的上下文中获取 VoiceChannel 和 Guild 如下所示 bot command name
  • 如何在 Matplotlib 饼图周围绘制箭头以将每个标签指向圆圈中各自的部分?

    我一直在用 Matplotlib 绘制一些图表 我有一个饼图 想要在图表周围绘制箭头 使每个标签都指向图表 我有一个例子 这是我当前的代码 import matplotlib pyplot as plt plt rcParams font
  • NLTK 2.0分类器批量分类器方法

    当我运行此代码时 它会抛出一个错误 我认为这是由于 NLTK 3 0 中不存在batch classify 方法 我很好奇如何解决旧版本中的某些内容在新版本中消失的此类问题 def accuracy classifier gold resu
  • 嵌套列表的重叠会产生不必要的间隙

    我有一个包含三个列表的嵌套 这些列表由 for 循环填充 并且填充由 if 条件控制 第一次迭代后 它可能类似于以下示例 a 1 2 0 0 0 0 0 0 4 5 0 0 0 0 0 0 6 7 根据条件 它们不重叠 在第二次迭代之后 新
  • 如何从Python中的函数返回多个值? [复制]

    这个问题在这里已经有答案了 如何从Python中的函数返回多个变量 您可以用逗号分隔要返回的值 def get name you code return first name last name 逗号表示它是一个元组 因此您可以用括号将值括
  • 从Django中具有外键关系的两个表中检索数据? [复制]

    这个问题在这里已经有答案了 This is my models py file from django db import models class Author models Model first name models CharFie
  • Python 3d 绘图设置固定色阶

    我正在尝试绘制两个 3d 数组 第一个数组的 z 值在范围内 0 15 0 15 第二个来自 0 001 0 001 当我绘图时 色标自动遵循数据范围 如何设置自定义比例 我不想看到 0 001 的浅色 而应该看到 0 15 的浅色 如何修
  • 为什么 web2py 在启动时崩溃?

    我正在尝试让 web2py 在 Ubuntu 机器上运行 所有文档似乎都表明要在 nix 系统上运行它 您需要下载源代码并执行以下操作 蟒蛇 web2py py 我抓住了source http www web2py com examples
  • GUI(输入和输出矩阵)?

    我需要创建一个 GUI 将数据输入到矩阵或表格中并读取此表单数据 完美的解决方案是限制输入表单仅允许float 例如 A 1 02 0 25 0 30 0 515 0 41 1 13 0 15 1 555 0 25 0 14 1 21 2
  • 嵌套作用域和 Lambda

    def funct x 4 action lambda n x n return action x funct print x 2 prints 16 我不太明白为什么2会自动分配给n n是返回的匿名函数的参数funct 完全等价的定义fu
  • 通过Python连接到Bigquery:ProjectId和DatasetId必须非空

    我编写了以下脚本来通过 SDK 将 Big Query 连接到 Python 如下所示 from google cloud import bigquery client bigquery Client project My First Pr
  • 当字段是数字时怎么说...在 mongodb 中匹配?

    所以我的结果中有一个名为 城市 的字段 结果已损坏 有时它是一个实际名称 有时它是一个数字 以下代码显示所有记录 db zips aggregate project city substr city 0 1 sort city 1 我需要修
  • Python GTK+ 画布

    我目前正在通过 PyGobject 学习 GTK 需要画布之类的东西 我已经搜索了文档 发现两个小部件似乎可以完成这项工作 GtkDrawingArea 和 GtkLayout 我需要一些基本函数 如 fillrect 或 drawline
  • PySpark groupByKey 返回 pyspark.resultiterable.ResultIterable

    我试图找出为什么我的 groupByKey 返回以下内容 0
  • 如何以正确的方式为独立的Python应用程序制作setup.py?

    我读过几个类似的主题 但还没有成功 我觉得我错过或误解了一些基本的事情 这就是我失败的原因 我有一个用 python 编写的 应用程序 我想在标准 setup py 的帮助下进行部署 由于功能复杂 它由不同的 python 模块组成 但单独
  • Firebase Firestore:获取文档的生成 ID (Python)

    我可以创建一个新文档 带有自动生成的 ID 并存储对其的引用 如下所示 my data key value doc ref db collection u campaigns add my data 我可以像这样访问数据本身 print d
  • 等待子进程使用 os.system

    我用了很多os system在 for 循环内调用创建后台进程 如何等待所有后台进程结束 os wait告诉我没有子进程 ps 我使用的是Solaris 这是我的代码 usr bin python import subprocess imp
  • 在virtualenv中下载sqlite3

    我正在尝试使用命令创建应用程序python3 manage py startapp webapp但我收到一条错误消息 django core exceptions ImproperlyConfigured 加载时出错 pysqlite2 或
  • 如何将Python3设置为Mac上的默认Python版本?

    有没有办法将 Python 3 8 3 设置为 macOS Catalina 版本 10 15 2 上的默认 Python 版本 我已经完成的步骤 看看它安装在哪里 ls l usr local bin python 我得到的输出是这样的
  • NLTK:查找单词大小为 2k 的上下文

    我有一个语料库 我有一个词 对于语料库中该单词的每次出现 我想获取一个包含该单词之前的 k 个单词和该单词之后的 k 个单词的列表 我在算法上做得很好 见下文 但我想知道 NLTK 是否提供了一些我错过的功能来满足我的需求 def size

随机推荐

  • 网络/网络编程

    网络 网络编程部份 1 connect方法会阻塞 请问有什么方法可以避免其长时间阻塞 答 最通常的方法最有效的是加定时器 也可以采用非阻塞模式 2 网络中 如果客户端突然掉线或者重启 服务器端怎么样才能立刻知道 答 若客户端掉线或者重新启动
  • 服务器文件直接复制到本地,本地文件直接复制到云服务器

    本地文件直接复制到云服务器 内容精选 换一换 在本地主机和Windows弹性云服务器上分别安装QQ exe等工具进行数据传输 使用远程桌面连接mstsc方式进行数据传输 该方式不支持断点续传 可能存在传输中断的情况 因此不建议上传大文件 文
  • MySQL 5.6解压缩版安装配置方法图文教程(win10)

    MySQL 5 6解压缩版安装配置方法图文教程 win10 1 首先 我们需要得到这个安装包 解压下载到本地 可在小编网盘中找到 我已共享链接 可直接下载 比如 现在我们把他解压到我们本地的D MySQL文件夹下 现在我们就可以看到 当前目
  • 【WiFi】Wi-Fi 6(802.11ax)解析24:802.11ax中MU-MIMO和OFDMA的区别

    目录 1 序言 2 OFDMA 2 MU MIMO 3 MAC层部分 MU MIMO和OFDMA 4 结语 5 参考 1 序言 笔者将自己对于802 11ax中的MU MIMO和OFDMA的区别做了一个简单的总结 因为很多非通信技术专业的童
  • 临界区对象TCriticalSection(Delphi) 与 TRtlCriticalSection 的区别

    TRtlCriticalSection 是一个结构体 在windows单元中定义 TCriticalSection是在SyncObjs单元中实现的类 它对上面的那些临界区操作API函数进行了了封装 简化并方便了在Delphi的使用 如TCr
  • 用C语言开发一个BT下载软件 (四) ------ 代码实现-1-种子文件解析模块

    parse metafile h ifndef PARSE METAFILE define PARSE METAFILE 保存从种子文件中获取的tracker的URL typedef struct Announce list char an
  • 数据库建索引规则

    数据库建立索引常用的规则如下 1 表的主键 外键必须有索引 2 数据量超过300的表应该有索引 3 经常与其他表进行连接的表 在连接字段上应该建立索引 4 经常出现在Where子句中的字段 特别是大表的字段 应该建立索引 5 索引应该建在选
  • 微信小程序分包-主包尺寸 (不包合插件) 应小于 1.5 M

    目录 起因 分包 最后 起因 更新一个之前的小程序 上传的时候提示主包尺寸 不包合插件 应小于 1 5 M 怎么办 查看教程啊 开发者可通过开发者工具中的性能扫描工具提前发现代码中的可优化项 1 代码包不包含插件大小超过 1 5 M 建议
  • 迭代(iterable)和迭代器

    迭代 iterable 任何可迭代对象都可以作用于for循环 包括我们自定义的数据类型 只要符合迭代条件 就可以使用for循环 d a 1 b 2 c 3 对dict迭代 for k v in d items 如果要同时迭代key和valu
  • 文件操作之日志文件

    一 前言 用户 那谁 你的程序出问题了 来看看 你 问题是怎么出现的 为了复现 用户 我也不知道 就这样点点点就出问题了 你 这个时候 日志文件的重要性就凸显出来了 别指望用户能描述清楚问题出现的经过 最靠谱的还是看日志文件 二 多说两句
  • 网站开发————JavaEE/实训实训实训

    JavaEE 搭建Maven 1 下载 2 环境变量 3 设置 依赖包位置 IntelliJ 1 链接Maven 2 建项目 无框架 3 建Model maven webapp 4 建java resoure并关联 4 导入依赖到pom x
  • Spring 事件驱动,自定义事件、应用监听器

    目录 概述 源码分析 ApplicationEvent 应用事件 spring中常见的事件类型 ApplicationListener 应用监听器 ApplicationEventPublisher 事件发布器 自定义事件 自定义应用监听器
  • 10大python加速技巧

    优质资源分享 学习路线指引 点击解锁 知识定位 人群定位 Python实战微信订餐小程序 进阶级 本课程是python flask 微信小程序的完美结合 从项目搭建到腾讯云部署上线 打造一个全栈订餐系统 Python量化交易实战 入门级 手
  • vue3 tif文件解析预览

    tif文件在img标签中是无法正常解析的 需要转成常见的jpg png等格式才能正常显示 经过调研 就常见的几种方式 tiff js或者别的插件 本次文章主要讲tiff文件解析时出现的一些问题 1 下载tiff js npm install
  • 后台数据与前端数据进行传递交互

    前端后端对应数据的传递 model前端 数据从数据库 到 Model User类 再到 Controller new User 再到 View html css 最后在浏览器中看到 Model 在 MVC 框架的角色是 有很多字段组成的数据
  • 数论学习-初等数论基础总览

    文章目录 初等数论基础 二 建议先看 零 同余与逆元的概念 0 1 同余 0 2 逆元概念 0 2 1 逆元的求法 一 数论只会gcd 1 1 gcd 1 1 1 a b a a b 的证明 1 1 2 a b b a b 的证明 辗转相除
  • 如何监控阿里云服务器的java进程

    如何监控阿里云服务进程 阿里云的监控没有具体到监控哪一个进行的监控项 如果我们想监控特定的进程建议使用自定义监控 自己采集监控数据 但是阿里提供了关键字的监控 我们可以使用关键字查询进程的数量进行监控 下面我就带大家来试一试如何监控一台服务
  • 【产品设计】90天产品经理实战 分析

  • Git检出(git权威指南笔记)

    HEAD 头指针 是当前工作区的基础版本 看到当前处于的分支 git branch v 分离头指针 git checkout 4902dc3 处于分离头指针状态 可以检查 测试和提交 而不影响任何分支 通过执行另外的一个checkout检出
  • python基础------字符串、列表、元组、字典、集合、函数

    1 字符串 2 列表 列表的删除方法 2 1 列表的增 删 改 查 排序 遍历 a 创建一个空列表 ls b 向列表中添加元素 红烧鸡翅 并查看列表 ls append 红烧鸡翅 c 接着向列表中最前面添加1个元素 32 并查看列表 ls