当前位置: 首页 > 编程日记 > 正文

Python Data Structures

1. list

2. stack

3. queue

4. tuple

5. sequence

6. set

7. dict

# -*- coding: utf-8 -*-
# 添加中文注释
'''
Created on 2011-4-29

test for python data structure

@author: xuqiang
'''

###################list##################
print("test for list");
= [66.2533333311234.5];
# 打印元素出现的次数
print(a.count(333), a.count('a'));
a.insert(
2-1);
print(a);

# 返回首次数显该元素的数组下标
a.index(333);
# 反转该list
a.reverse();

# 排序
a.sort();

##################stack#####################
print("use list as a stack");
stack 
= [1234]
print("push 5");
stack.append(
5);
print("pop the stack");
stack.pop();
print(stack);

###############queue###################
from collections import deque
queue 
= deque(["hello""world""to"]);
# 入队
queue.append("you");
print(queue);
# 出队列
queue.popleft();
print(queue);


# 测试filter函数
def f(x): return x % 2 != 0 and x % 3 != 0
print(filter(f, range(225)));


# 测试map函数
def cube(x): return x*x*x
print(map(cube, range(111)));

# 函数可以传递多个参数
seq = range(8);
def add(x, y):
    
return x + y;
print(map(add, seq, seq));

# 测试reduce函数,该函数迭代进行
print(reduce(add, range(111)));
def sun(seq):
    
return reduce(add, seq, 0);
print(sum(range(5)));

freshfruit 
= ['  banana''  loganberry ''passion fruit  ']
#生成list
print([ weapon.strip()  for weapon in freshfruit ]);
vec 
= [246];
print([  3 * x for x in vec ]);
print( [ x * 3 for x in vec if x > 2 ] );
print( [ [x, x + 2for x in vec if x > 2 ] );
vec1 
= [123]
vec2 
= [123]
# 遍历两个数组
print( [ x + y for x in vec1 for y in vec2 ] );

# 嵌套list
mat = [ [123],  [456] ];
# 遍历数组
for i in [0, 12] :
    
for row in mat:
        
print(row[i]);
# 还是遍历
questions = ['name''quest''favorite color']
answers 
= ['lancelot''the holy grail''blue']
for q, a in zip( questions, answers ):
    
print 'What is your {0}?  It is {1}.'.format(q, a)
    
# 测试 del方法
= [-1166.253333331234.5];
del a[0];
print(a);

######################tuple##############################
= 1234554321'hello';
t[0];       
# 得到第一个 元素
print(t);
# 嵌套tuple
= t, (12345);
print(u);
empty 
= ();     # 空tuple
singleton = 'hello';    # 只含有 一个元素
print(len(empty));
print(len(singleton));


####################set############################
basket = ['apple''orange''apple''pear''orange''banana']
fruit 
= set(basket)               # create a set without duplicates
print(fruit);
print'orange' in fruit );
# 集合交,并
= set('abracadabra');
= set('alacazam');
print(a | b);
print(a & b);


############################dict##############################
#
 构造函数 
dict([(x, x**2for x in (246)]);
dict([(
'sape'4139), ('guido'4127), ('jack'4098)]);
tel 
= {'jack'4098'sape'4139}
tel[
'guido'= 4127;        # 如果不存在将默认增加
tel['jack'= 0;            # 存在的话,默认是修改
print(tel);
# 便利
for key in tel.keys() :
    
print key;
    
print tel[key];
# 另外一种遍历形式
knights = {'gallahad''the pure''robin''the brave'}
for i, v in knights.iteritems() :
    
print i, v;

转载于:https://www.cnblogs.com/xuqiang/archive/2011/04/29/2033135.html

相关文章:

【转】 ubuntu12.04更新源

原文网址:http://blog.chinaunix.net/uid-26404477-id-3382633.html 摘 要:本文列出ubuntu 12.04 LTS更新源列表,内容为网友整理,此处为转载。因为我还在重庆读书,所以在设置自己的源列表的时候选择了电子科技大学的更…

Ubuntu 上创建常用磁盘阵列

RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损 失而开发出一定水平的数据保护技术。RAID就是一种由多块廉价…

L1-009 N个数求和

题目 本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。 输入格式: 输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1 a2/…

我的理解:box-sizing

下面是我在博客园找到的,和我遇见的情况很相似,所以摘抄下来,原文见:http://www.cnblogs.com/charling/p/3635031.html box-sizing语法: box-sizing : content-box || border-box || inherit 参数取值: con…

世界最大规模3D打印混凝土步行桥在上海 落成启用

1月12日,世界最大规模3D打印混凝土步行桥在沪落成启用,人们站在桥体上欢庆该新兴建筑体的诞生。 中新网上海1月13日电 (记者 于俊)一座体态优雅、形似飘带的水泥桥12日横跨于上海宝山智慧湾的小河之上,宣告全球最大规模混凝土3D打印步行桥落成…

idea打开web项目之后一直闪烁

解决办法: 点击, 选择第一个(清除缓存并重启) 这时Idea会自动重新启动,之后就没有闪烁的状态了。 一开始我选择是第二个,清除无效的缓存,但是并没有起作用。

第十章:控制文件

控制文件管理[大纲] 控制文件的结构  控制文件的复用  控制文件的重建  控制文件的管理一、数据库控制文件控制文件中记载了数据库的物理结构等重要的数据库信息,如数据文件和日志文件信息。控制文件是用 于维护数据库完整性的重要文件。Oracle 正是使用…

UIImage图片拉伸方法

纵观移动市场,一款移动app,要想长期在移动市场立足,最起码要包含以下几个要素:实用的功能、极强的用户体验、华丽简洁的外观。华丽外观的背后,少不了美工的辛苦设计,但如果开发人员不懂得怎么合理展示这些设…

【摘录】GestureDector使用

boolean onDoubleTap(MotionEvent e)解释:双击的第二下Touch down时触发boolean onDoubleTapEvent(MotionEvent e)解释:双击的第二下Touch down和up都会触发,可用e.getAction()区分。boolean onDown(MotionEvent e)解释:Touch …

IDEA新建springboot项目发生错误

idea新建spring boot项目 选择这个默认的Default 之后弹出提示框如下 这个时候首先试一下更换一下网络,我用的是wifi就换成热点,就可以了,是因为网络的问题

windows form窗体应用程序,建一个记事本参考代码,重点是打开,保存,另存为...

//当点击打开的时候private string files; //建一个成员变量,用来存储打开的路径private void 打开OToolStripMenuItem_Click(object sender, EventArgs e){//openFileDialog1.Filter "文本文件|*txt|视频文件|*avi;*jpg"; //filter建立一个筛选器//ope…

『参考』.net CF组件编程(4)——为自定义组件添加工具箱图标!

前言: 在前三篇的文章中,和大家一起创建了一个用于TCP连接检测的小组件,如果你记不得了,可以通过以下链接去回顾一下: 『参考』.net CF组件编程(1)——基础之后 『参考』.net CF组件编程…

vs2010设置boost开发环境

1. 编译boost类库 2. 设置vs2010的环境 <1>. 编译boost类库 前面一篇文章介绍了如何在linux下建立boost的开发环境&#xff0c;并且编写了一个测试程序&#xff0c;这里将试着在windows下编译boost&#xff0c;同时设置vs2010的开发环境&#xff0c;使用vs来作为开发的…

怎样把字符1变成数字1

直接使用字符bai1减去字符0即可&#xff0c;如&#xff1a;‘1’-0’ 解释&#xff1a; 这样做可行是因为字符0到字符9在ascii编码时是连续的&#xff0c;字符0的ascii值是48&#xff0c;字符1的ascii值是49&#xff0c;其他数字字符依次往后排&#xff0c;而ascii值实际上就…

C#基础篇--文件(流)

1&#xff1a;Path类是专门用来操作文件路径的&#xff08;Path类是静态类&#xff09;&#xff1a;当然用字符串的处理办法也能实现。 string str "C:\Users\成才\Desktop\Hashtable.txt";//返回文件名Console.WriteLine(Path.GetFileName(str));//返回文件名&…

adoquery查询结果如何赋给一个变量(delphi和c++ builder)

我用的是adoquery进行数据库查询&#xff0c;但是我不想把查询的结果显示出来&#xff0c;只是想赋给一个变量&#xff0c;请问我这个变量该怎样去设置呢 &#xff1f; 回复人&#xff1a;sunriver 回复时间&#xff1a;2005-6-3 9:11:00procedure TForm1.Button1Click(Sender:…

pdf格式转换成jpg的简单教程

如何将pdf文件在线免费转换成jpg图片&#xff1f;因为文件保存为图片的形式比较容易查看&#xff0c;因此小伙伴们在编辑完pdf文件之后都会将其保存为jpg图片。那究竟应如何将pdf文件在线转换成图片呢&#xff1f;我们在网上也可以找到很多工具&#xff0c;但是转换效果却是不尽…

npm should be run outside of the Node.js REPL, in your normal shell

错误&#xff1a; npm should be run outside of the Node.js REPL, in your normal shell 在搭建vue环境时报错&#xff0c; 设置缓存文件夹 npm config set cache "D:\vueProject\nodejs\node_cache"和 设置全局模块存放路径 npm config set prefix “D:\vueProjec…

php错误封装类

1、创建MyErrorHandler.php文件 代码如下&#xff1a; <?php class MyErrorHandler {public $message;public $filename;public $line;public $vars array();protected $_noticeLog F:\root\noticeLog.log;public function __construct ($message,$filename,$line,$vars)…

sqlserver 与 mysql 联合更新两个表 区别

sqlserver:UPDATE a SET a.gradeb.id FROM userinfo a,levelinfo b WHERE a.exp>b.minvalue AND a.exp<b.maxvaluemysql:UPDATE userinfo a,levelinfo b SET a.gradeb.id WHERE a.exp>b.minvalue AND a.exp<b.maxvalue转载于:https://www.cnblogs.com/andy_tigger/…

Django web框架

Web框架 web 框架本质 - Web应用本质上就是一个socket服务端&#xff0c;而用户的浏览器就是一个socket客户端。 HTTP协议 HTTP协议介绍HTTP协议对收发消息的格式要求每个HTTP请求和响应都遵循相同的格式&#xff0c;一个HTTP包含Header和Body两部分&#xff0c;其中Body是可…

输入vue ui没反应

在cmd中输入 vue ui没有反应 输入 vue -h查看&#xff0c;发现是版本太低&#xff0c;根本没有ui 这是因为vue的版本太低导致的&#xff0c; 输入cnpm i -g vue/cli 升级脚手架即可 升级完成后&#xff0c;输入vue -h 最后输入vue ui即可

Windows 10 开发日记(五)-- 当Binding遇到异步 -- 解决方案

前文再续&#xff0c;上一章提出了问题&#xff0c;本章提出了三种解决方案&#xff1a; 解决方案一&#xff1a;手动进行异步转换,核心思想:将binding做的事情放入CodeBehind FilterItemControl.XAML: <Grid><Image x:Name"FilterImage" Stretch"Unif…

java实现局域网内单对单和多对多通信的设计思路

这个看起来是很简单的&#xff0c;不就是socket吗&#xff0c;但是&#xff0c;要想有一个好的用户体验&#xff0c;还是很难的&#xff0c;主要问题有&#xff1a; 既然是局域网&#xff0c;那么就必然没有一个固定的IP地址作为主机&#xff0c;这个问题怎么解决&#xff1f; …

GIT - 拉取其他仓库的某个分支的代码

场景 在A仓库拉取B仓库develop分支的代码到A的本地分支 步骤 查看本地已有的远程仓库git remote // 查看远程仓库的名字 发现只有A-v 更加详细的远程仓库说明 复制代码添加远程仓库git remote add BName Bgiturl // 添加远程仓库 BNname别名 Bgiturl远程的git地址 复制代码添…

fetchMetadata: sill install loadAllDepsIntoIdealTree

在搭建vue项目的时候出现报错如下 fetchMetadata: sill install loadAllDepsIntoIdealTree 先输入 npm install -g cnpm --registryhttps://registry.npm.taobao.org 在输入cnpm install

redmine忘记username和password

环境&#xff1a; Ubuntu 13.10 bitnami-redmine-2.5.1-1-linux-x64-installer.run 用bitnami安装完redmine以后&#xff0c;有是否忘记了username和password。可是又没有配置邮件server&#xff0c;无法找回password。 仅仅能去server更改了。更改过程例如以下&#xff1a; 1…

SpringBoot b2b2c 多用户商城系统(十五)Springboot整合RabbitMQ...

这篇文章带你了解怎么整合RabbitMQ服务器&#xff0c;并且通过它怎么去发送和接收消息。我将构建一个springboot工程&#xff0c;通过RabbitTemplate去通过MessageListenerAdapter去订阅一个POJO类型的消息。 准备工作15minIDEAmaven 3.0在开始构建项目之前&#xff0c;机器需要…

SQLite 日期类型(转)

SQLite日期类型 简单示例: SELECT datetime(CHANGE_DATE,localtime), strftime(%Y-%m-%d,CHANGE_DATE,localtime), datetime(now,localtime), strftime(%Y-%m-%d,now,localtime), DATE(now,localtime), time(now,Localtime), time(2010-11-27 01:…

Visual Studio Code常用插件

名称 功能 Chinese (Simplified) Language Pack for Visual Studio Code 汉化 VSCode Auto Close Tag 自动为写的html标签进行闭 合 Beautify 代码格式化 Element UI Snippets Element UI的代码提示功能 Material Icon Theme 为项目换上相应的图标 Vetur对vue代码进行高亮 View…