python数据结构编程_写给Python编程高手之 数据结构

python视频教程栏目介绍Python编程需要注意的关键点。

c9fc4bf5da5f05ca97b6d2688ff8eaa5.png

如何在列表,字典,集合中根据条件筛选数据

案例:如何在下列列表data中筛选出大于0的数data = [1, -1, 2, 3, 4, 7]复制代码

使用filter函数,第一个参数为一个函数,也可以像如下代码传入一个lambda表达式。list(filter(lambda x: x >= 0, data))复制代码

另一种方案是像如下使用列表生成式,这种方案相对于上一种方案更加高效。print([x for x in data if x >= 0])复制代码

在字典这种数据结构中,也可以使用类似的字典生产式。from random import randint

d = { x: randint(60, 100) for x in range(1, 21)}

{k:v for k, v in d.items() if v >= 90}复制代码

如何为元组中的每个元素命名,提高程序可读性

方案:定义常量,使用常量索引元组中的元素,例如下列代码stu = ('hao', 18, 'male', '1078244513@qq.com')

NAME = 0AGE = 1SEX = 2print(stu[SEX])复制代码

方案:使用collections包的namedtuple的函数,该函数会返回一个新"类"的定义,使用方式如下。from collections import namedtuple

Stu = namedtuple('Stu', ['name', 'age', 'sex', 'email'])# stu = Stu('hao', 18, 'male', '1078244513@qq.com')stu = Stu(name='hao', age=18, sex='male', email='1078244513@qq.com')

print(stu.email)复制代码

如何统计序列中元素的出现频率

问题: 统计下列数字列表中每个数字出现的次数from random import randint

data = [randint(0, 20) for _ in range(30)]复制代码

方案:定义一个dict(字典),然后遍历数组。c = dict.fromkeys(data, 0)复制代码

上述代码会生成一个data中不同值为键,以0为值的一个字典对象。for x in data:

c[x] += 1复制代码

方案:使用collections包中的Counter函数c2 = Counter(data)复制代码

这种方案也可以方便的获取到出现次数最多的前几个。c2.most_common(3)复制代码

如何根据字典中的值的大小,对字典中的项排序

问题:对如下字典中的值进行排序cj = {x: randint(60, 100) for x in 'xyzabc'}复制代码

方案:sorted函数中的第二个参数,可以传入一个函数对象,sorted会根据该函数的返回值进行排序。sorted(cj.items(), key=lambda item:item[1])复制代码

注:该函数返回一个新的字典对象

如何快速找到多个字典中的公共键(key)?

首先,介绍一下python中的采样函数sample,它位于random包中。该接收一个序列类型的参数和一个数字,返回一个随机从序列中随机采样获得一个序列。如下代码。from random import sample

sample('abcdefg', 3)复制代码

问题:如何获取下列三个集合的公共键。s1 = {x : randint(1, 4) for x in sample('abcdefg', randint(3, 6))}

s2 = {x : randint(1, 4) for x in sample('abcdefg', randint(3, 6))}

s3 = {x : randint(1, 4) for x in sample('abcdefg', andint(3, 6))}复制代码

可以使用集合的交集操作完成这项任务。s1.keys() & s2.keys() & s3.keys()复制代码

如何让字典保持有序?

collections包的OrderedDict类型,会保持进入字典的次序。相关免费学习推荐:python视频教程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/575834.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

初步学习pg_control文件之八

接前文 初步学习pg_control文件之七 继续 看:catalog_version_no 代码如下: static void WriteControlFile(void) {.../** Initialize version and compatibility-check fields*/ControlFile->pg_control_version PG_CONTROL_VERSION;ControlFile-…

python编写下载器可暂停_Python编写一个优美的下载器

本文实例为大家分享了python编写下载器的具体代码,供大家参考,具体内容如下 #!/bin/python3# author: lidawei# create: 2016-07-11# version: 1.0# 功能说明:# 从指定的URL将文件取回本地#################################################…

fork()调用使子进程先于父进程被调度

由于内核使用写时复制机制,fork之后父子进程是共享页表描述符的,如果让父进程先执行,那么有很大几率父进程会修改共享页表指向的数据,那么内核此时必须给父进程分配并复制新的页表供父进程修改使用,那么如果子进程被创…

修改页面后获得flag_简单的CTF-从JS中获取flag

本文是一篇从合天网安实验室进行实验操作的笔记,一次非常简单地从JS中获取到flag的操作。1. 进入题目页(10.1.1.219:20123)看到一段话,还有一句很明显的提示语句“The evil url is the passkey”,翻译出来就是损坏的url就是flag。下面的英文…

文本框获取和失去焦点默认值问题

1. HTML控件<input id"txtName" type"text" value"默认值" /> <script src"script/jquery-1.7.1.min.js" type"text/javascript"></script><script type"text/javascript">$(function ()…

mac 源生安装mysql_Django执行源生mysql语句实现过程解析

1.使用extra方法解释&#xff1a;结果集修改器&#xff0c;一种提供额外查询参数的机制说明&#xff1a;依赖model模型使用方式&#xff1a;用在where后:Book.objects.filter(publisher_id"1").extra(where["titlepython学习1"])用在select后Book.objects.…

poj 3131 Cubic Eight-Puzzle 双向广搜 Hash判重

挺不错的题目&#xff0c;很锻炼代码能力和调试能力~ 题意&#xff1a;初始格子状态固定&#xff0c;给你移动后格子的状态&#xff0c;问最少需要多少步能到达&#xff0c;如果步数大于30&#xff0c;输出-1。 由于单向搜索状态太多&#xff0c;搜到二十几就会爆了&#xff0c…

mysql 优化rand_mysql优化--巧用rand(),with rollup,help__update2014.1.13

巧用rand()提取随机行&#xff1a;mysql中rand()获取0-1之间的一个随机数.这个函数和order by能把数据随机排序。随机从表中取出十条数据:select * from tablename order by rand() limit 10;此方法确实很方便&#xff0c;但是效率上却慢的惊人&#xff0c;切勿使用。SELECT * …

server2003 IIS 错误 解决

网页无法打开总显示&#xff1a;无法找到该页您正在搜索的页面可能已经删除、更名或暂时不可用。 --------------------------------------------------------------------------------请尝试以下操作&#xff1a;确保浏览器的地址栏中显示的网站地址的拼写和格式正确无误。 如…

mysql web备份软件_GitHub - toolzone/mysql_web_backup: mysql数据库自动备份,web网站自动备份shell脚本...

注意&#xff1a;Mysql_backup.sh 为 mysql 自动备份 脚本&#xff0c;配合 crontab命令 用来管理需要周期性执行任务Web_backup.sh 为 web文件 自动备份 脚本&#xff0c;配合 crontab命令 用来管理需要周期性执行任务Mysql_backup.sh 里&#xff1a;* 把 username 替换为mysq…

快速下载助手1.1--添加断点下载

在上一章中实现了多线程的断点下载&#xff0c;将快速下载助手添加断点下载功能&#xff0c;明天实现了速率统计功能 效果图如下&#xff1a; 打印信息如下&#xff1a; 欢迎使用快速下载助手-->并不是线程多就下载的快! 文件夹已经存在 默认的线程个数&#xff1a;3 保存路…

mysql查询自定义数据_实现自定义查询的数据库设计及实现(一)

需求先说一下需求&#xff1a;实现用户自定义的查询&#xff0c;用户可以自定义要查询的列、自定义条件条件、自定义排序。除了查询使用外&#xff0c;还可以使用于各个需要根据条件进行约束的业务&#xff0c;如权限&#xff1b;本设计和实现&#xff0c;很大部分是通过数据库…

poj 1321 棋盘问题

题目&#xff1a; http://poj.org/problem?id1321 八皇后问题&#xff0c;用dfsj即可。 源代码&#xff1a; 1 #include <iostream>2 #include<stdio.h>3 #include<cstring>4 using namespace std;5 int a[10][10];6 int visit[10];7 int n,k,sum;8 __int64…

php mysql-proxy报错_MySQL-proxy代理导致PHP PDO::ATTR_EMULATE_PREPARES的预处理出错,MySQL报General error: 1243错误...

背景&#xff1a;用的ThinkPHP5的框架。(相比之前的3.2版本&#xff0c;版本5都用了PDO处理数据库)症状&#xff1a;SQLSTATE[HY000]: General error: 1243 Unknown prepared statement handler (1) given to mysqld_stmt_execute具体的错误SQL&#xff0c;可能是任何一条正常的…

异步分页ajax

****jsp页面代码 <% page language"java" pageEncoding"utf-8"%> <% taglib prefix"s" uri"/struts-tags" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or…

python函数模块_06.Python函数和模块

函数基础目标函数的快速体验函数的基本使用函数的参数函数的返回值函数的嵌套调用在模块中定义函数函数的快速体验1.1 快速体验所谓函数&#xff0c;就是把 具有独立功能的代码块 组织为一个小模块&#xff0c;在需要的时候 调用函数的使用包含两个步骤&#xff1a;定义函数 —…

浙江大学PAT上机题解析之1008. 数组元素循环右移问题 (20)

1008. 数组元素循环右移问题 (20) 时间限制 400 ms内存限制 32000 kB代码长度限制 8000 B判题程序 Standard一个数组A中存有N&#xff08;N>0&#xff09;个整数&#xff0c;在不允许使用另外数组的前提下&#xff0c;将每个整数循环向右移M&#xff08;M>0&#x…

mysql11导入数据_MySQL专题11之MySQL导出数据、MySQL导入数据

1、MySQL导出数据- MySQL中你可以使用SELECT...INTO OUTFILE语句来简单的导出数据到文本文件中。a、使用SELECT...INTO OUTFILE- 以下实例中我们将数据库runoob_tbl数据导出到/tmp/tutorials.txt文件中&#xff1a;mysql> SELECT * FROM runoob_tbl-> INTO OUTFILE /tm…

向量叉乘判断两向量之间是顺时针还是逆时针

转自http://blog.163.com/shiliping_007/blog/static/25772011201071744031933/ 向量积 a x b (^n) * |a| * |b| * sin<a, b>, 其中^n是同时垂直于a/b且符合右手定则的单位向量。若已知向量a (ax, ay, az), b (bx, by, bz); 则 a x b (ay * bz - by * az, az * bx - …

java 生成随机数_Java 生成随机数的 N 种方法

原标题&#xff1a;Java 生成随机数的 N 种方法www.baeldung.com/java-generating-random-numbers1.引言本文将探讨用 Java 生成随机数的不同方法。2.Java APIJava API 提供了几种随机数生成方法。让我们一起来了解一下。2.1.java.lang.MathMath 类中的 random 方法返回一个 [0…