总结12个python代码

2023-11-13

python有很好的可读性和简洁性,学会其中的小的技巧,运用的恰当,会让我们的工作事半功倍。

以下是我总结的12个小的程序段,看似非常的简单,但是却非常的有技巧性,并且对个人的编程能力是一个很好的检验,大家应该在日常的编程中多多使用,多多练习,肯定会有帮助的。

1. 字符串的翻转

str1='wang jian hua'
#方法1
print(str1[::-1])
from _functools import reduce
#方法2
print(reduce(lambda x,y:y+x,str1))

说明:字符串的翻转,首先最简单的方法就是利用切片的操作,来实现翻转,其次可以利用reduce函数来实现翻转,在python3中,reduce函数需要从functools中进行导入。

输出:

auh naij gnaw
auh naij gnaw

2. 判断字符串是否是回文

str2='abccba'
str2_1='abcde'
def fun(string):
   if string == string[::-1]:
      print('该字符串是回文字符串')
   else:
      print('该字符串不是回文字符串')
fun(str2)
fun(str2_1)

输出:

该字符串是回文字符串
该字符串不是回文字符串

3. 单词大小写

print(str1.title()) #首字母大写
print(str1.upper()) #所有字母大写
print(str1.capitalize()) # 字符串首字母大写

输出:

Wang Jian Hua
WANG JIAN HUA
Wang jian hua

4. 字符串的拆分

str3='I love Python'
str3_1='I/love/Python'
str3_2='   I love  Python  '
print(str3.split()) #默认按照空格进行拆分,返回的是列表
print(str3.split('/'))
print(str3.split()) #默认去除字符串左右两边的空格,返回的是字符串
print(type(str3.strip()))

输出:

['I', 'love', 'Python']
['I love Python']
['I', 'love', 'Python']
<class 'str'>

5. 将列表中的字符串合并

lst=['W','jianhua','Hua']
print(' '.join(lst))
#去除字符串中的不需要的字符
import re
str4="W/ love. jian Hua"
print(' '.join(re.split('\W+',str4)))

输出:

W jianhua Hua
W love jian Hua

6. 查找字符串中唯一的元素

#寻找字符串中唯一的元素
s1='wwwwjjjjrrfttg'
print(''.join(set(s1)))
#对列表筛查
list1=[1,2,4,5,6,7,2,5,1]
print(list(set(list1)))

说明一下:set可以帮助我们快速的筛查重复的元素,set不仅可以对字符串,还可以针对列表进行筛查

7. 使出现重复的元素(乘法和加法)

#重复的元素
str1='python'
list1=[1,2,3]
print('乘法表示-方法1:{}'.format(str1*3))
print('乘法表示-方法2:{}'.format(list1*2))

str2='python'
list2=[1,2,3]
str_new=''
list2_new=[]
#加法表示
for i in range(2):
   str_new+=str2
   list2_new.extend(list2)
print(str_new)
print(list2_new)

输出:

乘法表示-方法1:pythonpythonpython
乘法表示-方法2:[1, 2, 3, 1, 2, 3]
pythonpython
[1, 2, 3, 1, 2, 3]

8. 扩展列表

#扩展列表
list3=[2,2,3,2]
print([2*x for x in list3])
#展开列表
list4=[[1,2,3],[4,5,6],[4,3],[1]]
print([i for k in list4 for i in k])

输出:

[4, 4, 6, 4]
[1, 2, 3, 4, 5, 6, 4, 3, 1]

9. 两个值交换

#方法1
a=1
b=2
a,b = b,a
print('交换后的值为:{0}--{1}'.format(a,b))
#方法2
c = a+b
a= c-a
b=c-a
print('交换后的结果为:{0}--{1}'.format(a,b))

输出结果:

交换后的值为:2--1
交换后的结果为:1--2

10. 统计列表中元素出现的频率

from collections import Counter
list5='wwwjjsspeeb'
counts = Counter(list5)
print('字符串每个元素的个数为:{}'.format(counts))
print('字符串单个元素的个数为:{}'.format(counts['w']))
print('字符串单个元素出现次数最多的是:{}'.format(counts.most_common(1)))

#迭代实现
dict1={}
for i in list5:
   if i in dict1:
      dict1[i]+=1
   else:
      dict1[i]=1
print("方法2统计出现次数最多的元素是:{}".format(max(dict1,key=lambda  x:dict1[x])))

输出:

字符串每个元素的个数为:Counter({'w': 3, 'j': 2, 's': 2, 'e': 2, 'p': 1, 'b': 1})
字符串单个元素的个数为:3
字符串单个元素出现次数最多的是:[('w', 3)]
方法2统计出现次数最多的元素是:w

11. 统计代码消耗时间

#代码执行消耗时间
import time
start = time.time()
#代码块
for i in range(1,200000):
   num = i
print("共消耗时间: ",time.time()-start,'s')

输出:

共消耗时间:  0.02888774871826172 s

12. 字典的合并

#字典的合并
dct1={'name':'wjh','age':20}
dct2={'city':'beijing','areas':'昌平区'}
#方法1
new_dict={**dct1,**dct2}
print('字典合并后的结果为:{}'.format(new_dict))
#方法2
dct1.update(dct2)
print('方法2合并后的结果:{}'.format(dct1))

输出:

字典合并后的结果为:{'name': 'wjh', 'age': 20, 'city': 'beijing', 'areas': '昌平区'}
方法2合并后的结果:{'name': 'wjh', 'age': 20, 'city': 'beijing', 'areas': '昌平区'}

总结就这些吧,多多练习吧!

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

总结12个python代码 的相关文章

  • Tkinter 菜单删除项

    如何删除任何菜单项 例如我想删除 播放 self menubar Menu self root self root config menu self menubar self filemenu2 Menu self menubar self
  • 定义Python源代码编码的正确方法

    PEP 263 http www python org dev peps pep 0263 定义如何声明Python源代码编码 通常 Python 文件的前两行应以以下内容开头 usr bin python coding
  • 尝试从网页Python和BeautifulSoup获取编码

    我试图从网页检索字符集 这会一直改变 目前我使用 beautifulSoup 来解析页面 然后从标题中提取字符集 这工作正常 直到我遇到一个网站 到目前为止 我的代码以及与其他页面一起使用的代码是 def get encoding soup
  • python array(10,1) 和 array(10,) 之间的区别

    我正在尝试将 MNIST 数据集加载到数组中 当我使用 X train y train X test y test mnist load data 我得到一个数组 y test 10000 但我希望它的形状为 10000 1 数组 1000
  • numpy:高效执行数组的复杂重塑

    我正在将供应商提供的大型二进制数组读入 2D numpy 数组 tempfid M N load data data numpy fromfile file dirname fid dtype numpy dtype i4 convert
  • python celery -A 的无效值无法加载应用程序

    我有一个以下项目目录 azima init py main py tasks py task py from main import app app task def add x y return x y app task def mul
  • Python“非规范化”unicode 组合字符

    我正在寻找标准化 python 中的一些 unicode 文本 我想知道是否有一种简单的方法可以在 python 中获得组合 unicode 字符的 非规范化 形式 例如如果我有序列u o xaf i e latin small lette
  • 如何在 Django Rest 框架中编写“删除”操作的测试

    我正在为 Django Rest Framework API 编写测试 我一直在测试 删除 我对 创建 的测试工作正常 这是我的测试代码 import json from django urls import reverse from re
  • 使用标签或 href 传递 Django 数据

    我有一个包含链接的表 当单击该链接进行更多操作时 我想将一些数据传递给我的函数 my html table tbody for query in queries tr td value a href internal my func que
  • 为什么这个 if 语句会导致语法错误

    我正在尝试设置一个 elif 语句 如果用户按下 Enter 键 代码将继续 但是我不断遇到语法错误 GTIN 0 while True try GTIN int input input your gtin 8 number if len
  • Flask 应用程序路由中的多个参数

    烧瓶怎么写app route如果我在 URL 调用中有多个参数 这是我从 AJax 调用的 URL http 0 0 0 0 8888 createcm summary VVV change Feauure 我试图写我的烧瓶app rout
  • 检索 geodjango 多边形对象的边界框

    如何在 geodjango 中获取 MultiPolygon 对象的边界框 在 API 中找不到任何内容http geodjango org docs geos html http geodjango org docs geos html
  • pygame:使用 sprite.RenderPlain 绘制精灵组的顺序

    我有一个精灵组 需要按一定的顺序绘制 以便其精灵按应有的方式重叠 然而 即使使用运算符模块函数 sorted self sprites key attrgetter y x 对组进行排序 顺序也是错误的 我该如何解决这个问题 直截了当地说
  • 将字符串中的随机字符转换为大写

    我尝试随机附加文本字符串 这样就不只是有像这样的输出 gt gt gt david 我最终会得到类似的东西 gt gt gt DaViD gt gt gt dAviD 我现在的代码是这样的 import random import stri
  • 使用 suds SOAP 库进行 HTTP 身份验证的奇怪行为

    我有一个正在运行的 python 程序 它使用 suds 通过 SOAP 获取大量数据 Web服务是通过分页功能实现的 这样我就可以抓取nnn每个 fetch 调用的行并获取下一个nnn与后续的电话 如果我使用如下代码向 HTTP 服务器进
  • 基于值而不是类型的单次调度

    我在 Django 上构建 SPA 并且有一个庞大的功能 其中包含许多功能if用于检查我的对象字段的状态名称的语句 像这样 if self state new do some logic if self state archive do s
  • 使用 selenium 和 python 来提取 javascript 生成的 HTML?萤火虫?

    这里是Python新手 我遇到的是数据收集问题 我在这个网站上 当我用 Firebug 检查我想要的元素时 它显示了包含我需要的信息的源 然而常规源代码 没有 Firebug 不会给我这个信息 这意味着我也无法通过正常的 selenium
  • 仅允许正小数

    在我的 Django 模型中 我创建了一个如下所示的小数字段 price models DecimalField u Price decimal places 2 max digits 12 显然 价格为负或零是没有意义的 有没有办法将小数
  • 在 numpy 中连接维度

    我有x 1 2 3 4 5 6 7 8 9 10 11 12 shape 2 2 3 I want 1 2 3 4 5 6 7 8 9 10 11 12 shape 2 6 也就是说 我想连接中间维度的所有项目 在这种特殊情况下我可以得到这
  • 使用 paramiko 运行 Sudo 命令

    我正在尝试执行sudo使用 python paramiko 在远程计算机上运行命令 我尝试了这段代码 import paramiko ssh paramiko SSHClient ssh set missing host key polic

随机推荐

  • MYSQL 中 LIMIT 用法

    mapper文件中的sql 在实体类中定义的属性 start 从第几条记录开始 size 读取几条记录 select id findAllUsers parameterType Map resultType entity IUser gt
  • 华为OD机试 - 座位调整(JS)

    题目描述 疫情期间课堂的座位进行了特殊的调整 不能出现两个同学紧挨着 必须隔至少一个空位 给你一个整数数组 desk 表示当前座位的占座情况 由若干 0 和 1 组成 其中 0 表示没有占位 1 表示占位 在不改变原有座位秩序情况下 还能安
  • java--注解和反射

    一 注解 1 1 注解Annotation的概念 1 注解的作用 注解Annotation是从JDK1 5开始引入的新技术 我们在编程中经常会使用到注解 它的作用有 1 编译检查 比如 SuppressWarnings Deprecated
  • 【使用html2pdf将页面生成PDF文件】

    前端使用html2pdf将页面生成PDF文件 一 下载js文件 链接 https cdnjs cloudflare com ajax libs html2pdf js 0 10 1 html2pdf bundle min js 二 引入js
  • poi 操作 PPT,针对 PPTX--图表篇

    poi 操作 PPT 针对 PPTX 图表篇 文章目录 poi 操作 PPT 针对 PPTX 图表篇 1 读取 PPT 模板 2 替换标题 4 替换图表数据 接下来对 ppt 内的图表进行操作 替换图表的数据 原幻灯片样式 1 读取 PPT
  • 并发编程基本概念(进程,线程,协程,线程池,同步/互斥)

    并发编程基本概念 一 进程的概念 计算机的核心是CPU 它承担了所有的计算任务 而操作系统是计算机的管理者 它负责任务的调度 资源的分配和管理 统领整个计算机硬件 应用程序则是具有某种功能的程序 程序是运行于操作系统之上的 进程 从用户角度
  • 企业微信三方应用开发(一)三方应用开发设置,suit_ticket获取,验证回调有效性

    加我微信li570467731 拉你进二百多人企业微信开发同行群 文末有二维码 企业微信开发三部曲 企业微信应用开发概述篇 免费 已完结 企业微信开发第三方应用开发篇 更新中 企业微信开发自建内部应用开发 筹备中 关注公众号 ToB Dev
  • 练习:“快乐数”判断

    练习 快乐数 判断 APP发文编辑机制更新后 慢热的我还适应不来 这里只放了 python 代码 运行效果和题目 请点击前面蓝色文字 移步我昨天的 学习打卡 帖 Pyonth 代码 coding utf 8 from random impo
  • 冒泡排序详解(C语言)

    对于刚入门学习编程的新手来说 冒泡排序应该是大家接触的第一个算法 由于刚接触编程不久 新手的思维还没有得到很好的开拓 冒泡排序在一开始对新手来说有些难理解 现在就让我们来看看新手如何更好的来理解冒泡排序算法 冒泡排序的思路 假设数组有n个数
  • Attentional Feature Fusion 注意力特征融合

    Attentional Feature Fusion 注意力特征融合 最近看到一篇比较不错的特征融合方法 基于注意力机制的 AAF 与此前的 SENet SKNet 等很相似 但 AFF 性能优于它们 并且适用于更广泛的场景 包括短和长跳连
  • Web3存储赛道Arweave(AR)

    Arweave简介 Arweave的愿景是成为一座新的亚历山大图书馆 旨在成为世界知识的普遍宝库 Arweave是一个类似FileCoin的新的去中心化存储平台 Arweave通过区块链的方式实现 文件存在每一个区块上 Arweave原来的
  • Matlab学习11-图像处理之图像变换

    文章目录 一 傅里叶变换快速卷积 二 模板匹配 三 二维离散余弦变换 四 JPEG图像压缩典型算法 总结 一 傅里叶变换快速卷积 代码 傅里叶变换快速卷积 disp 步骤1 生成3 3的矩阵A和B A 4 5 6 7 8 9 B 3 2 1
  • 看到一篇关于软件专业的讨论,对将要选大学专业的人很有用

    APUE和UNP看不懂怎么办 狗尾草 C 前几天京东搞活动 我就把这三本书都买了 结果还是高估了自己的功力 看了一星期都看不懂 谁能提点建议 这两套书该怎么看或者推荐一点更简单入门的书 mephistohk W Richard Steven
  • Ciclop开源3D扫描仪软件---Horus源码分析之src\horus\engine\calibration\calibration.py

    coding utf 8 This file is part of the Horus Project author Jes煤s Arroyo Torrens
  • java定时器,每天00:00执行任务

    import java text SimpleDateFormat import java util Calendar import java util Timer import java util TimerTask public cla
  • 多分类 & 多标签 准确度计算

    多标签 V S 多分类 多类分类 Multiclass classification 表示分类任务中有多个类别 比如对一堆水果图片分类 它们可能是橘子 苹果 梨等 多类分类是假设每个样本都被设置了一个且仅有一个标签 一个水果可以是苹果或者梨
  • ubuntu16.04-cuda11.1上使用TensorRT加速yolov5推理

    基础 环境 其实极客的版本已经给我们了 ubuntu16 04 cuda11 1 cudnn8 0 opencv4 1 1 tensorrt7 2 检查 ubantu版本 lsb release a 检查cuda版本 nvcc versio
  • weex 一个传说级巨坑-- 2018最新版weex踩坑指南(weex navigator 多界面跳转)

    先说结论 本人极度非常 不推荐weex作为任何商用开发 有很多人会说了 你瞎扯 你看别人阿里 啊飞猪 啊那个支付宝 人家不是用得好好的么 当然这也是我们公司作为技术选型的考量 三端通用 阿里系的app全线在用 理论上是可以实现的 而且我们在
  • find / -name file 权限不足

    find name file 权限不足 1描述如下 原因 解决方案 结果 在查找系统文件中 查找到 roor user 1000 gvfs目录时提示权限不够 1描述如下 find name test01 txt home kali test
  • 总结12个python代码

    python有很好的可读性和简洁性 学会其中的小的技巧 运用的恰当 会让我们的工作事半功倍 以下是我总结的12个小的程序段 看似非常的简单 但是却非常的有技巧性 并且对个人的编程能力是一个很好的检验 大家应该在日常的编程中多多使用 多多练习