集合是一门语言最重要的一个特性,对集合支持的程度越好,使用起来越方便

一、表现形式

1.1 list

  list的基本用法:

  • 使用中括号包裹,[1,2,3]
  • 元素类型可以是任意类型,同样可以是list
  • 支持索引下标和分片

  常用方法如下:

  • L.append(object) :增加一个元素到尾部
  • L.clear():清空list
  • L.copy():副本,注意只是浅拷贝
  • L.count(value):value出现的次数
  • L.extend(iterable): 添加一个序列到尾部
  • L.index(value, [start, [stop]]):返回value元素首次出现的位置,不存在会报ValueError
  • L.insert(index, object):在指定位置插入元素
  • L.pop([index]):移除并返回指定元素,默认最后一个
  • L.remove(value):移除首次出现的元素,不存在会报ValueError
  • L.reverse():反转
  • L.sort(key=None, reverse=False):排序

  可应用的全局方法:

  • len():list的长度
  • max(L):list的最大值
  • min(L):list的最小值

1.2 tuple

  tuple的用法和list一样,只是tuple是不可变的,并且是用小括号来包裹。

1.3 range

  range代表整数区间,两种用法:

  • class range(stop)
  • class range(start, stop[, step])

  表示从开始(包括)到结束(不包括),以步长为step的整数列表。

  常用方法:

  • list(R):将区间转换成list
  • 其他方法同list

1.4 dict

  dict就是Java中的HashMap,键值对的映射。

  • 使用大括号括起来的键值对,类似于json
  • 键值可以是任何类型

  常用方法:

  • len(dictview):返回字典中的条目数。
  • d[key]:返回字典d中键为key的元素。如果key不在映射中,则引发一个KeyError
  • d[key] = value:设置d[key]的值为value
  • del d[key]:从d中删除d [key]。引发KeyError如果键不在映射中
  • key in d:如果d有键key,则返回True,否则False
  • key not in d:相当于not key in d
  • iter(d):返回字典的键上的一个迭代器。这是iter(d.keys())的快捷方式
  • clear():从字典中删除所有项目
  • copy():返回字典的一个浅拷贝
  • classmethod fromkeys(seq[, value]):与键从seq和值将设置为值创建一个新的字典
  • get(key[, default]):如果 key 在字典里,返回 key 的值,否则返回 default 值。 default 默认为 None
  • items():返回字典项目的新视图((key, value)对)
  • keys():返回字典的键的新的视图
  • pop(key[, default]):如果键在字典中,请将其删除并返回其值,否则返回默认值。如果未给出默认值且键不在字典中,则会引发KeyError
  • popitem():从字典中移除并返回任意一个(key, value)对
  • setdefault(key[, default]):如果key在字典中,则返回其值。如果没有,则插入值为default的key,并返回default。default默认为None
  • update([other]):依据other更新词典的键/值对,覆盖现有的键
  • values():返回字典的值的新的视图

  先熟悉了基本用法,后续了解深入后补上

【Python】Java程序员学习Python(九)— 集合(list、tuple、range)和映射(dict)的更多相关文章

  1. 【Python】Java程序员学习Python(五)— 函数的定义和使用

    不想做一个待宰的羔羊!!!!要自己变得强大.... 函数的定义和使用放在最前边还是有原因的,现在语言趋于通用,基本类型基本都是那些,重点还是学习对象的使用方法,而最根本的还是方法的使用,因此优先介绍, ...

  2. 【Python】Java程序员学习Python(二)— 开发环境搭建

    巧妇难为无米之炊,我最爱的还是鸡蛋羹,因为我和鸡蛋羹有段不能说的秘密. 不管学啥,都要有环境,对于程序员来说搭建个开发环境应该不是什么难题.按顺序一步步来就可以,我也只是记录我的安装过程,你也可以滴. ...

  3. 【Python】Java程序员学习Python(三)— 基础入门

    一闪一闪亮晶晶,满天都是小星星,挂在天上放光明,好像许多小眼睛.不要问我为什么喜欢这首歌,我不会告诉你是因为有人用口琴吹给我听. 一.Python学习文档与资料 一般来说文档的资料总是最权威,最全面的 ...

  4. 【Python】Java程序员学习Python(六)— 流程控制、异常处理

    和Java语言一样,Python也有基本的流程控制,简单了解下即可. 一.流程控制的元素 条件 条件就是布尔值或者布尔值的表达式,要么是True要么是False. 代码块 在Python中,代码块不是 ...

  5. 【Python】Java程序员学习Python(十)— 类、包和模块

    我觉得学习到现在应该得掌握Python的OOP编程了,但是现在还没有应用到,先留一个坑. 一.类和对象 说到类和对象其实就是在说面向对象编程,学完Java以后我觉得面向对象编程还是很不错的,首先封装了 ...

  6. 【Python】Java程序员学习Python(七)— 文本类详解(字符串、str)

    如果一个女孩子喜欢看龙猫,那么请珍惜她,呵护她 任何一门语言,字符串总是最基本也是最需要掌握的一个变量,想想入门的Hello World,输出的就是字符串. 官方文档:https://docs.pyt ...

  7. 【Python】Java程序员学习Python(四)— 内置方法和内置变量

    <假如爱有天意> 当天边那颗星出现,你可知我又开始想念,有多少爱恋只能遥遥相望,就像月光洒向海面,年少的我们曾以为,相爱的人就能到永远,当我们相信情到深处在一起,听不见风中的叹息,谁知道爱 ...

  8. 【Python】Java程序员学习Python(一)— 为什么学习Python

    现在是6月份,毕业快3年了,虽然不能说对Java掌握的程度达到了如火纯青的地步,但是依然感觉到了瓶颈期,Java用的多了,也到了随心所欲的地步了,所以学第二门语言的想法一直在我脑海里闪现,有想法了就要 ...

  9. 【Python】Java程序员学习Python(十一)— IO

    一.前言 io的内容其实还是有很多的,现在我也只是了解初步用法,当然详细内容还是应该参照官方api的: 官方api:https://docs.python.org/3/library/os.html. ...

随机推荐

  1. Ejb3 + Jboss8 出现Session id hasn't been set for stateful component

    Ejb 3 + JBoss 8  在使用客户端远程访问有状态的Ejb对象时,出现ERROR: Session id hasn't been set for stateful component 出现该 ...

  2. EF基础知识小记四(数据库=>模型设计器)

    EF基础知识小记三(设计器=>数据库)介绍了如何创建一个空设计器模型,并如何将模型同步到数据库的表中,本文则主要介绍如何将一个存在的数据库同步到模型设计器中.为了能快速的模拟这个过程,给出一下建 ...

  3. 针对石家庄铁道大学官网首页的UI分析

    身为一名光荣的铁大铮铮学子,我对铁大的网站首页非常的情有独钟,下面我就石家庄铁道大学的官网首页进行UI分析: 1.在首页最醒目的地方赫然写着石家庄铁道大学七个大字,让人一眼就豁然开朗. 2.网站有EN ...

  4. Android_PullListView

    ListView 下拉刷新,上拉加载更多的原理: (1)主要是onScroll()方法和onTouchEvent()方法,先是onTouchEvent()的ACTION_DOWN,然后是 ACTION ...

  5. 给访问私有变量添加access method

    class TestAccessPrivateVar{ private int a = 1; class MyInner{ /* synthetic final TestAccessPrivateVa ...

  6. springboot-16-springboot中引入xml文件

    参考原文: http://412887952-qq-com.iteye.com/blog/2293846 使用的是在spring中注入一个bean的方式来测试是否成功, 感觉略不实用, 只碰到过一次d ...

  7. 12-mapReduce的简介和yarn搭建

    Hadoop的核心组件之er: mapreduce 目前的计算框架 mapreduce spark storm flink(阿里) mapreduce的核心理念: 移动计算, 而不是移动数据(redu ...

  8. ibatis中的cdata和xml中cdata的含义

    ibatis的cdata用于sqlmap文件中,二sqlmap本身就是xml文件,即解析cdata的方法与xml文件的cdata相同. 简单来说:cdata就是用来表明纯文本的,如果没有这个的话 &l ...

  9. 8分钟丨教你玩转 API

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由织云平台团队发表于云+社区专栏 背景 当下,业界越来越多公司在项目架构设计时,会采用微服务架构.微服务架构,可以让我们的产品有更好的扩 ...

  10. spring boot 2.0 源码分析(三)

    通过上一章的源码分析,我们知道了spring boot里面的listeners到底是什么(META-INF/spring.factories定义的资源的实例),以及它是创建和启动的,今天我们继续深入分 ...