python实现list元素按关键字相加减的方法

 更新时间:2017年7月6日 23:34  点击:1397
本篇文章结合实例为大家介绍了python实现list元素按关键字相加减的方法,有需要的朋友可以来参考一下。

本文实例讲述了python实现list元素按关键字相加减的方法。分享给大家供大家参考,具体如下:

Python list中的元素按关键字相加或相减:

 

 代码如下复制代码

# coding=utf-8

# 两个list按关键字相加或相减

defListAdd(list1, list2, bAdd=True):

  ifbAdd==False:

    list2=[(k,-v)for(k, v)inlist2]

  d={}

  list0=list1+list2

  for(k, v)inlist0:

    d.setdefault(k,0)  # 设置字典元素初始值

    d[k]+=v       # 对字典中的元素按关键字相加

  ret=list(d.items())   # 字典转换成list

  ret=sorted(ret)     # 对list排序

  returnret

if__name__=='__main__':

  a=[("s1",10), ("s2",13), ("s3",25), ("s7",30)]

  b=[("s1",22), ("s3",16), ("s10",8)]

  print("a=", a)

  print("b=", b)

  ret1=ListAdd(a, b)   # ret1 = a + b

  print("ret1=", ret1)

  ret2=ListAdd(a, b,False)# ret2 = a - b

  print("ret2=", ret2)

 

运行:

 

 代码如下复制代码

E:\Program\Python>del.py

a=[('s1',10), ('s2',13), ('s3',25), ('s7',30)]

b=[('s1',22), ('s3',16), ('s10',8)]

ret1=[('s1',32), ('s10',8), ('s2',13), ('s3',41), ('s7',30)]

ret2=[('s1',-12), ('s10',-8), ('s2',13), ('s3',9), ('s7',30)]

 

本篇文章为大家介绍了PHP中的日期时间处理利器实例(Carbon),很有一定的参考价值,有需要的朋友就来看一看吧。

 

Carbon介绍

Carbon是PHP中很人性化的时间日期处理插件,github拥有接近5000个 star。

github地址为:https://github.com/briannesbitt/Carbon

Carbon基本用法

 

 代码如下复制代码

//1、基本应用

$now= Carbon::now();         //2016-11-03 14:13:16

$today= Carbon::today();       //2016-11-03 00:00:00

$tomorrow= Carbon::tomorrow();    //2016-11-04 00:00:00

$yesterday= Carbon::yesterday();   //2016-11-02 00:00:00

 

//2、判断是否是某一天(2016-11-03(周四)举例)

$now= Carbon::now();

var_dump($now->isWeekend());//false 因为周四不是周末

var_dump($now->isWeekday());//true 因为周四是工作日

var_dump($now->isThursday());//true 因为今天是周四

$now->isToday();

$now->isTomorrow();

$now->isFuture();

$now->isPast();

 

//3、创建某一天的carbon对象并且进行加减计算

$date= Carbon::create(2016, 12, 25, 0, 0, 0);//2016-12-25 00:00:00

$next_year=$date->addYears(2);//2018-12-25 00:00:00

$past_year=$date->subYears(2);//2014-12-25 00:00:00

$next_month=$date->addMonths(2);//2017-02-25 00:00:00

$past_month=$date->subMonths(2);//2016-10-25 00:00:00

$next_day=$date->addDays(2);//2016-12-27 00:00:00

$past_day=$date->subDays(2);//2016-12-23 00:00:00

...更有addWeekdays()、addWeeks()、addHours()等方法

 

//4、将carbon对象转换成string类型

$dt= Carbon::create(1975, 12, 25, 14, 15, 16);

echo$dt->toDateString();            // 1975-12-25

echo$dt->toFormattedDateString();        // Dec 25, 1975

echo$dt->toTimeString();            // 14:15:16

echo$dt->toDateTimeString();          // 1975-12-25 14:15:16

echo$dt->toDayDateTimeString();         // Thu, Dec 25, 1975 2:15 PM

 

上面介绍的是一些基本的Carbon使用。Carbon最大的特点就是灵活、人性化。

以上就是本文的全部内容,希望对大家的学习有所帮助。

原文链接:https://segmentfault.com/a/1190000007370334

 

 

本篇文章为大家介绍了PHP利用ffmpeg提取视频中音频与视频画面的相关资料,很有参考价值,一起来看一看吧。

 

前言

FFmpeg的名称来自MPEG视频编码标准,前面的“FF”代表“Fast Forward”,FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。可以轻易地实现多种视频格式之间的相互转换。

FFmpeg的用户有Google,Facebook,Youtube,优酷,爱奇艺,土豆等。

组成

       1、libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构和读取音视频帧等功能,包含demuxers和muxer库;

       2、libavcodec:用于各种类型声音/图像编解码;

       3、libavutil:包含一些公共的工具函数;

       4、libswscale:用于视频场景比例缩放、色彩映射转换;

       5、libpostproc:用于后期效果处理;

       6、ffmpeg:是一个命令行工具,用来对视频文件转换格式,也支持对电视卡实时编码;

       7、ffsever:是一个HTTP多媒体实时广播流服务器,支持时光平移;

       8、ffplay:是一个简单的播放器,使用ffmpeg 库解析和解码,通过SDL显示;

提取视频中音频与视频画面

想要提取视频中的音频信息,首选的技术是ffmpeg,网上的绝大多数ffmpeg使用教程都是:

比如你的文件是 test.mp4

分离视频出来:ffmpeg -i test.mp4 -vcodec copy -an 视频流.avi

分离音频出来:ffmpeg -i test.mp4 -acodec copy -vn 音频流.mp3

用这样的方法,提取视频是没有问题的。但在提取音频时,我遇到了以下错误:

 代码如下复制代码
Invalid  audio stream. Exactly one MP3 audio stream is required. could not write  header for output file #0 (incorrect codec parameters ) invalid  argument

其实,简单地提取音视频并不需要这么复杂,只要执行以下两行就行了:

分离视频出来:ffmpeg -i test.mp4 视频流.avi

分离音频出来:ffmpeg -i test.mp4 音频流.mp3

本篇文章为大家介绍了,在laravel 5.1下php artisan migrate的使用注意事项,很有一定的参考价值的,一起来看一看吧。

PHP artisan migrate命令是laravel十分重要的问题,但在使用时需要注意几个情况:

(1)在migration文件夹下创建一张新的表,要使用php artisan make:migration语句

php artisan已经拥有强大的功能,就不要自己新建一个表

(2)composer dump-autoload的使用

composer   dump-autoload是用来更新vendor/composer/autoload_classmap.php文件的,这个文件有许多配置,使用php  artisan命令时就是事先调用这个文件。在新添加一张表时,先执行这个命令,在使用migrate。在删除一张表示,先使用migrate:rollback,再使用composer,在删除文件。

执行这条语句将修改laravel框架内vendor/composer/文件夹下的所有文件

(3)安装composer

有可能使用composer时显示命令不存在,这时就要安装composer。

 

 代码如下复制代码

php -r"readfile('https://getcomposer.org/installer');"> composer-setup.php

 

php composer-setup.php

 

php -r"unlink('composer-setup.php');"

 

执行第一条命令下载下来的 composer-setup.php 脚本将简单的检测 php.ini 中的参数设置,如果某些参数未正确设置则会给出警告;然后下载最新版本的composer.phar    文件到当前目录。

上述 3 条命令的作用依次是:

  • 下载安装脚本(composer-setup.php)到当前目录。

  • 执行安装过程。

  • 删除安装脚本 -- composer-setup.php 。

全局安装是将 Composer 安装到系统环境变量 PATH 所包含的路径下面,然后就能够在命令行窗口中直接执行 composer 命令了。

Mac 或 Linux 系统:打开命令行窗口并执行如下命令将前面下载的 composer.phar 文件移动到/usr/local/bin/ 目录下面:

 代码如下复制代码
sudomvcomposer.phar/usr/local/bin/composer
[!--infotagslink--]

相关文章

  • python opencv 画外接矩形框的完整代码

    这篇文章主要介绍了python-opencv-画外接矩形框的实例代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-09-04
  • php 中file_get_contents超时问题的解决方法

    file_get_contents超时我知道最多的原因就是你机器访问远程机器过慢,导致php脚本超时了,但也有其它很多原因,下面我来总结file_get_contents超时问题的解决方法总结。...2016-11-25
  • Python astype(np.float)函数使用方法解析

    这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08
  • 最炫Python烟花代码全解析

    2022虎年新年即将来临,小编为大家带来了一个利用Python编写的虎年烟花特效,堪称全网最绚烂,文中的示例代码简洁易懂,感兴趣的同学可以动手试一试...2022-02-14
  • python中numpy.empty()函数实例讲解

    在本篇文章里小编给大家分享的是一篇关于python中numpy.empty()函数实例讲解内容,对此有兴趣的朋友们可以学习下。...2021-02-06
  • python-for x in range的用法(注意要点、细节)

    这篇文章主要介绍了python-for x in range的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-10
  • Python 图片转数组,二进制互转操作

    这篇文章主要介绍了Python 图片转数组,二进制互转操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-09
  • Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
  • python实现b站直播自动发送弹幕功能

    这篇文章主要介绍了python如何实现b站直播自动发送弹幕,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下...2021-02-20
  • HTTP 408错误是什么 HTTP 408错误解决方法

    相信很多站长都遇到过这样一个问题,访问页面时出现408错误,下面一聚教程网将为大家介绍408错误出现的原因以及408错误的解决办法。 HTTP 408错误出现原因: HTT...2017-01-22
  • Android子控件超出父控件的范围显示出来方法

    下面我们来看一篇关于Android子控件超出父控件的范围显示出来方法,希望这篇文章能够帮助到各位朋友,有碰到此问题的朋友可以进来看看哦。 <RelativeLayout xmlns:an...2016-10-02
  • php抓取网站图片并保存的实现方法

    php如何实现抓取网页图片,相较于手动的粘贴复制,使用小程序要方便快捷多了,喜欢编程的人总会喜欢制作一些简单有用的小软件,最近就参考了网上一个php抓取图片代码,封装了一个php远程抓取图片的类,测试了一下,效果还不错分享...2015-10-30
  • ps把文字背景变透明的操作方法

    ps软件是现在非常受大家喜欢的一款软件,有着非常不错的使用功能。这次文章就给大家介绍下ps把文字背景变透明的操作方法,喜欢的一起来看看。 1、使用Photoshop软件...2017-07-06
  • python Matplotlib基础--如何添加文本和标注

    这篇文章主要介绍了python Matplotlib基础--如何添加文本和标注,帮助大家更好的利用Matplotlib绘制图表,感兴趣的朋友可以了解下...2021-01-26
  • 解决python 使用openpyxl读写大文件的坑

    这篇文章主要介绍了解决python 使用openpyxl读写大文件的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-13
  • intellij idea快速查看当前类中的所有方法(推荐)

    这篇文章主要介绍了intellij idea快速查看当前类中的所有方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-09-02
  • Mysql select语句设置默认值的方法

    1.在没有设置默认值的情况下: 复制代码 代码如下:SELECT userinfo.id, user_name, role, adm_regionid, region_name , create_timeFROM userinfoLEFT JOIN region ON userinfo.adm_regionid = region.id 结果:...2014-05-31
  • js导出table数据到excel即导出为EXCEL文档的方法

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ht...2013-10-13
  • python 计算方位角实例(根据两点的坐标计算)

    今天小编就为大家分享一篇python 计算方位角实例(根据两点的坐标计算),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-27
  • mysql 批量更新与批量更新多条记录的不同值实现方法

    批量更新mysql更新语句很简单,更新一条数据的某个字段,一般这样写:复制代码 代码如下:UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';如果更新同一字段为同一个值,mysql也很简单,修改下where即...2013-10-04