总结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代码 的相关文章

  • (discord.py) 尝试更改成员角色时,“用户”对象没有属性“角色”

    因此 我正在尝试编写一个机器人 让某人在命令中指定的主持人指定的一段时间内暂停角色 我知道该变量称为 小时 即使它目前以秒为单位 我稍后会解决这个问题 基本上 它是由主持人在消息 暂停 personmention numberofhours
  • Django REST序列化器:创建对象而不保存

    我已经开始使用 Django REST 框架 我想做的是使用一些 JSON 发布请求 从中创建一个 Django 模型对象 然后使用该对象而不保存它 我的 Django 模型称为 SearchRequest 我所拥有的是 api view
  • 如何在刻度标签和轴之间添加空间

    我已成功增加刻度标签的字体 但现在它们距离轴太近了 我想在刻度标签和轴之间添加一点呼吸空间 如果您不想全局更改间距 通过编辑 rcParams 并且想要更简洁的方法 请尝试以下操作 ax tick params axis both whic
  • Pycharm Python 控制台不打印输出

    我有一个从 Pycharm python 控制台调用的函数 但没有显示输出 In 2 def problem1 6 for i in range 1 101 2 print i end In 3 problem1 6 In 4 另一方面 像
  • 如何在Windows上模拟socket.socketpair

    标准Python函数套接字 套接字对 https docs python org 3 library socket html socket socketpair不幸的是 它在 Windows 上不可用 从 Python 3 4 1 开始 我
  • 如何使用包含代码的“asyncio.sleep()”进行单元测试?

    我在编写 asyncio sleep 包含的单元测试时遇到问题 我要等待实际的睡眠时间吗 I used freezegun到嘲笑时间 当我尝试使用普通可调用对象运行测试时 这个库非常有用 但我找不到运行包含 asyncio sleep 的测
  • 如何等到 Excel 计算公式后再继续 win32com

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • 运行多个 scrapy 蜘蛛的正确方法

    我只是尝试使用在同一进程中运行多个蜘蛛新的 scrapy 文档 http doc scrapy org en 1 0 topics practices html但我得到 AttributeError CrawlerProcess objec
  • 在 NumPy 中获取 ndarray 的索引和值

    我有一个 ndarrayA任意维数N 我想创建一个数组B元组 数组或列表 其中第一个N每个元组中的元素是索引 最后一个元素是该索引的值A 例如 A array 1 2 3 4 5 6 Then B 0 0 1 0 1 2 0 2 3 1 0
  • NameError:名称“urllib”未定义”

    CODE import networkx as net from urllib request import urlopen def read lj friends g name fetch the friend list from Liv
  • feedparser 在脚本运行期间失败,但无法在交互式 python 控制台中重现

    当我运行 eclipse 或在 iPython 中运行脚本时 它失败了 ascii codec can t decode byte 0xe2 in position 32 ordinal not in range 128 我不知道为什么 但
  • 在pyyaml中表示具有相同基类的不同类的实例

    我有一些单元测试集 希望将每个测试运行的结果存储为 YAML 文件以供进一步分析 YAML 格式的转储数据在几个方面满足我的需求 但测试属于不同的套装 结果有不同的父类 这是我所拥有的示例 gt gt gt rz shorthand for
  • 当玩家触摸屏幕一侧时,如何让 pygame 发出警告?

    我使用 pygame 创建了一个游戏 当玩家触摸屏幕一侧时 我想让 pygame 给出类似 你不能触摸屏幕两侧 的错误 我尝试在互联网上搜索 但没有找到任何好的结果 我想过在屏幕外添加一个方块 当玩家触摸该方块时 它会发出警告 但这花了很长
  • Python:尝试检查有效的电话号码

    我正在尝试编写一个接受以下格式的电话号码的程序XXX XXX XXXX并将条目中的任何字母翻译为其相应的数字 现在我有了这个 如果启动不正确 它将允许您重新输入正确的数字 然后它会翻译输入的原始数字 我该如何解决 def main phon
  • 检查所有值是否作为字典中的键存在

    我有一个值列表和一本字典 我想确保列表中的每个值都作为字典中的键存在 目前我正在使用两组来确定字典中是否存在任何值 unmapped set foo set bar keys 有没有更Pythonic的方法来测试这个 感觉有点像黑客 您的方
  • 如何从没有结尾的管道中读取 python 中的 stdin

    当管道来自 打开 时 不知道正确的名称 我无法从 python 中的标准输入或管道读取数据 文件 我有作为例子管道测试 py import sys import time k 0 try for line in sys stdin k k
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 对输入求 Keras 模型的导数返回全零

    所以我有一个 Keras 模型 我想将模型的梯度应用于其输入 这就是我所做的 import tensorflow as tf from keras models import Sequential from keras layers imp
  • Pandas 与 Numpy 数据帧

    看这几行代码 df2 df copy df2 1 df 1 df 1 values 1 df2 ix 0 0 我们的教练说我们需要使用 values属性来访问底层的 numpy 数组 否则我们的代码将无法工作 我知道 pandas Data
  • PyAudio ErrNo 输入溢出 -9981

    我遇到了与用户相同的错误 Python 使用 Pyaudio 以 16000Hz 录制音频时出错 https stackoverflow com questions 12994981 python error audio recording

随机推荐

  • 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个小的程序段 看似非常的简单 但是却非常的有技巧性 并且对个人的编程能力是一个很好的检验 大家应该在日常的编程中多多使用 多多练习