文档章节

元素分类与 collections

eddy_linux
 eddy_linux
发布于 2015/11/14 23:18
字数 491
阅读 52
收藏 0
点赞 0
评论 0
1.元素分类:
#[11,22,33,44,55,66,77,88,99,90]
#将所有大于66的值保存至字典的一个key中
#将小于66的保存至第二个key中
#{'k1':[77,88,99,90],'k2':[11,22,33,44,55,66]}
li = [11,22,33,44,55,66,77,88,99,90]
dic = {'k1':[],'k2':[]}
for i in li:
    if i > 66:
        dic['k2'].append(i)
    else:
        dic['k1'].append(i)
dic1 = {}
#key不确定的情况洗
for i in li:
    if i > 66:
        if 'k2' in dic1.keys():
            dic['k2'].append(i)
        else:
            dic1['k2'] = [i,]
    else:
         if 'k1' in dic1.keys():
            dic['k1'].append(i)
         else:
            dic['k1']= [i,]
#1.txt
#yys|123|1
#eddy|123|1
#linux|123|1
'''dic = {
        'yys':[123,1]
        'eddy':[123,1]
        'linux':[123,1]
}
'''
dic = {}
with open('1.txt','r') as file:
    for i in  file.readlines():
        line_list = i.strip().split('|')#每一行做为列表,把|分割的元素做为每一个元素
        #['yys','123','1']
        dic[line_list[0]] = line_list[1:]
print dic

2.collections
    计数器
        #计算元素出现了多少次
        c1 = collections.Counter('aaaccdd')
        c2 = collections.Counter('aaacddee')
        Counter({'a': 3, 'c': 2, 'd': 2})
        Counter({'a': 3, 'e': 2, 'd': 2, 'c': 1})
        #统计前几名3表示前三名
        print c1.most_common(3)
        [('a', 3), ('c', 2), ('d', 2)]
        #update两个统计叠加
        c1.update(c2)
        Counter({'a': 6, 'd': 4, 'c': 3, 'e': 2})
        #打印元素
        c1 = collections.Counter('aaaccdd')
        for i in c1.elements():
            print i
        a
        a
        a
        c
        c
        d
        d
        #统计列表
        li = [11,22,33,44,55,11,1,22,33]
        c1 = collections.Counter(li)
        print c1
        Counter({33: 2, 11: 2, 22: 2, 1: 1, 44: 1, 55: 1})
    有序字典
        dic = {'k1':123,'k2':123,'k3':12}
        dic1 = collections.OrderedDict()
        dic1['k1'] = 1
        dic1['k2'] = 1
        dic1['k3'] = 1   
        {'k3': 12, 'k2': 123, 'k1': 123}
        OrderedDict([('k1', 1), ('k2', 1), ('k3', 1)])
    默认字典
        原生字典中dic{'k1':None}
        if 'k1' in dic.keys():
            dic['k1'].append(1)
        else:
            dic['k1'] = [] 
        得到dic{'k1':[]}
        默认字典中
        my_dic = collections.defaultdict(list)
        就能得到 my_dic{'k1':[]}
        为字典中value设置一个默认类型可以是字典、列表、元组
    可命名元组
        #创建一个扩展的元组类,mytuple,除了元组本身的使用方法还扩展了自己定义的方法
        mytuple = collections.namedtuple('mytuple',['x','y'])
        new = mytuple(1,2)
        print new
        print new.x
        print new.y  
        mytuple(x=1, y=2)  
        1
        2
    双向队列
        #双向队列
        q = collections.deque()
        #右边添加
        q.append(1)
        q.append(2)
        q.append(3)
        q.append(4)
        #左边添加
        q.appendleft(5)
        #右边删除
        q.pop()
        #左边删除
        q.popleft()








© 著作权归作者所有

共有 人打赏支持
eddy_linux
粉丝 18
博文 135
码字总数 188789
作品 0
成都
程序员
集合(一):Collection

一:Collection与Collections的区别 1.java.util.Collection是一个集合接口(集合类的一个顶级接口)。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java类库中有很多具体...

牧羊人Berg ⋅ 2016/05/24 ⋅ 0

JDK collections - 使用

1) 排序(Sort) Collections.sort(list); 2) 混排(Shuffling) Collections.shuffle(list); 3) 反转(Reverse) Collections. reverse (list); 4) 填充所有的元素(Fill) Collection......

Canaan_ ⋅ 2016/08/12 ⋅ 0

java中Collection与Collections的区别

Collection是集合类的一个顶级接口,其直接继承接口有List与Set 而Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种...

Mr&Cheng ⋅ 2013/05/19 ⋅ 0

【C#每日一帖】List初探

【摘自MSDN】 位于System.Collections.Generic 命名空间 表示可通过索引访问的对象的强类型列表。提供用于对列表进行搜索、排序和操作的方法。 公共构造函数 公共属性 公共方法 (请参见 受保...

c_o_d_e_r ⋅ 2011/08/17 ⋅ 0

Collections类方法详解

Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作。 1) 排序(Sort)使用sort方法可以根据元素的自然顺序 对指定...

裸奔的八戒 ⋅ 2016/03/31 ⋅ 0

Google Guava Collections 使用介绍

Google Guava Collections(以下都简称为 Guava Collections)是 Java Collections Framework 的增强和扩展。每个 Java 开发者都会在工作中使用各种数据结构,很多情况下 Java Collections F...

毒性逆转 ⋅ 2011/11/17 ⋅ 1

Java基础-----集合工具类Collections

Collections类是Java提供的对集合进行操作的工具类;这个类不能生成实例,因为构造器是private;提供的方法都是static方法; 1、提供空的List、Set、Map,不能够进行任何操作,因为它们都是C...

baibuxiha ⋅ 2016/03/23 ⋅ 0

Java 性能调优指南之 Java 集合概览

【编者按】本文作者为拥有十年金融软件开发经验的 [Mikhail Vorontsov][1],文章主要概览了所有标准 [Java][2] 集合类型。文章系国内 [ITOM][3] 管理平台 [OneAPM][4] 编译呈现,以下为正文:...

OneAPM蓝海讯通 ⋅ 2016/05/12 ⋅ 0

VBS 脚本中的字典、动态数组、队列和堆栈

今天用VBS脚本写了几个程序,用到了字典(Dictionary)、动态数组(ArrayList)、队列(Queue)和堆栈(Stack)。现在写篇Blog总结一下 :-) 1.编写环境 今天突发奇想下载了个gVim来写VBS脚...

北风其凉 ⋅ 2014/12/30 ⋅ 0

java集合框架总结(七)

一、Collections 简介 Collections 是一个操作 Set、List 和 Map 等集合的工具类 Collections 中提供了大量方法对集合元素进行排序、查询和修改等操作,还提供了对集合对象设置不可变、对集合...

hapier ⋅ 2016/09/09 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring Bean基础

1、Bean之间引用 <!--如果Bean配置在同一个XML文件中,使用local引用--><ref bean="someBean"/><!--如果Bean配置在不同的XML文件中,使用ref引用--><ref local="someBean"/> 其实两种......

霍淇滨 ⋅ 22分钟前 ⋅ 0

05、基于Consul+Upsync+Nginx实现动态负载均衡

1、Consul环境搭建 下载consul_0.7.5_linux_amd64.zip到/usr/local/src目录 cd /usr/local/srcwget https://releases.hashicorp.com/consul/0.7.5/consul_0.7.5_linux_amd64.zip 解压consu......

北岩 ⋅ 25分钟前 ⋅ 0

Webpack 4 api 了解与使用

webpack 最近升级到了 v4.5+版 01 官方不再支持 node4 以下版本 官方不再支持 node4 以下版本官方不再支持 node4 以下的版本,所以如果你的node版本太低,先开始升级node吧!话说node10 ...

NDweb ⋅ 34分钟前 ⋅ 0

使用nodeJs安装Vue-cli

Vue脚手架就是一个Vue框架开发环境 脚手架的意思是帮你快速开始一个vue的项目,也就是给你一套vue的结构,包含基础的依赖库,只需要 npm install就可以安装,让我们不需要为了编辑或者一些其...

木筏笔歆 ⋅ 今天 ⋅ 0

【微信小程序开发实战】0x00.开发前准备工作

写在开始 本人资深后端码农一枚,近期项目需求,接触到了微信小程序,将学习过程整理成文分享给小伙伴们,由于是边学边整理难免有表述不对的地方,望大家及时指正,感谢。 本人微信号: dream...

dreamans ⋅ 今天 ⋅ 0

linux redis的安装和php7下安装redis扩展

安装redis服务器 (1)下载安装包: $ wget http://download.redis.io/releases/redis-2.8.17.tar.gz (2)编译程序: $ tar xzf redis-2.8.17.tar.gz $ cd redis-2.8.17 $ make $ cd src &&......

concat ⋅ 今天 ⋅ 0

Guava EventBus源码解析

一、EventBus使用场景示例 Guava EventBus是事件发布/订阅框架,采用观察者模式,通过解耦发布者和订阅者简化事件(消息)的传递。这有点像简化版的MQ,除去了Broker,由EventBus托管了订阅&...

SaintTinyBoy ⋅ 今天 ⋅ 0

http怎么做自动跳转https

Apache 版本 如果需要整站跳转,则在网站的配置文件的<Directory>标签内,键入以下内容: RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)?$ https://%{SERVER_NAME......

Helios51 ⋅ 今天 ⋅ 0

Python爬虫,抓取淘宝商品评论内容

作为一个资深吃货,网购各种零食是很频繁的,但是能否在浩瀚的商品库中找到合适的东西,就只能参考评论了!今天给大家分享用python做个抓取淘宝商品评论的小爬虫! 思路 我们就拿“德州扒鸡”...

python玩家 ⋅ 今天 ⋅ 0

MySQL 内核深度优化

MYSQL数据库适用场景广泛,相较于Oracle、DB2性价比更高,Web网站、日志系统、数据仓库等场景都有MYSQL用武之地,但是也存在对于事务性支持不太好(MySQL 5.5版本开始默认引擎才是InnoDB事务...

java高级架构牛人 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部