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

【廖雪峰Python学习笔记】list tuple dict set

列表元组字典集合
创建l = [1, ‘a’, [1, 3], True]t = (1, )d = {‘key’ : ‘value’}s = set([1, 2, 4, 2, 1])
索引l[1]t[0]d.get(‘key’)/
插入l.insert(1, ‘3’) / l.append(‘4’)/d[‘k1’] = ‘v1’s.add(‘9’)
修改l[0] = 4/d[‘k1’] = v/
移除l.pop(0)/d.pop(‘k1’)s.remove(‘1’)
其他list((1,2,3))tuple([1,2,3])‘key’ in ds1 & s2

列表

list

  1. Python内置的一种数据类型
  2. 一种可变的有序集合
  3. 可随时添加或删除其中元素

具体使用

  1. 创建列表
>>> l = []									# len(l) = 0, 空列表
>>> friuts = ['apple', 'banana', 'orange']	# len(friuts) = 3
>>> L = ['a', 12, True, ['a', 'b']]			# len(L) = 4, 元素类型可以不一致
  1. 元素索引
    可正向或者逆向索引
    索引不能越界,最后一个元素的索引为len(l) -1
>>> friuts[0]		
'apple'
>>> friuts[-1]
'orange'
>>> friuts[4]
Traceback (most recent call last):File "<stdin>", line 1, in <module>
IndexError: list index out of range
  1. 添加元素
    insert(i,x):列表第i个元素插入x
    append(x):列表末尾插入元素x
>>> friuts.append('lemon')			# l.append(x)
>>> friuts.insert(1,'watermelon')	# l.insert(i,x)
>>> friuts
['apple', 'watermelon','banana', 'orange','lemon']
  1. 删除元素
    pop(i):删除第i个元素
>>> friuts.pop(2)					# l.pop(i)
>>> friuts
['apple', 'watermelon', 'orange','lemon']
  1. 修改元素
>>> friuts[0] = 'none'				# 'apple'被替换成'none'		
>>> friuts
['none', 'watermelon', 'orange','lemon']
  1. 常见内置函数
l.reverse()
l.count('a')
l.index('b')
l.sort()

元组

tuple

  1. 一旦初始化,不能被添加、删除、修改
  2. tuple不可变,故代码更安全。代码中尽量使用tuple代替list

具体使用

  1. 创建元组
>>> t = ()
>>> t1 = (1,)
>>> t2 = ('apple', 'banana', 'orange')
  1. 元素索引
>>> t2[1]
'banana'
  1. 特殊的元组 —— 元素改变
>>> t = ('a', 'b', ['c', 'd'])
>>> t[2][0] = 'A'
>>> t[2][1] = 'B'
>>> t
('a', 'b', ['A', 'B'])

初始化的tuple:

t
0
'a'
1
'b'
2
0
1
'c'
'd'

修改后的tuple:

t
0
'a'
1
'b'
2
0
1
'c'
'd'
'A'
'B'
  1. 常见内置函数
tup = (3, 2, 3, 7, 8, 1)
tup.count(3)
tup.index(7)
list(reversed(tup))
sorted(tup)

字典

dict

  1. 全称dictionary,在其他语言叫做map
  2. 使用key-value存储
  3. 空间换时间
  4. 查找或插入速度快,不随着key的增多而变慢
  5. 内存占用和浪费多

具体使用

  1. 创建字典
>>> d0 = {'name':'Amey', 'age':18, 'hobby':'study'}
>>> d1 = dict({'name':'Amey', 'age':18, 'hobby':'study'})
>>> d2 = dict([('name':'Amey'), ('age':18), ('hobby':'study')])
>>> d3 = dict(name='Amey', age=18, hobby='study')
  1. 插入元素
>>> d['sexy'] = 'female'
  1. 修改元素
>>> d['age'] = 16
  1. 判断元素存在
>>> 'class' in d
Traceback (most recent call last):File "<stdin>", line 1, in <module>
KeyError: 'd'
  1. 元素索引
>>> d.get('age')
>>> 16
  1. 移除元素
>>> d.pop('sexy')

集合

set

  1. 一组key的集合,不存储value
  2. 元素无序、且不可重复

具体使用

  1. 创建集合
    需要提供一个list作为输入集合
>>> s0 = set([])
>>> s = set([1,1,2,2,3,3])
>>> s
{1,2,3}
  1. 添加元素add(key)
>>> s.add('a')
>>> s
{1,2,3,'a'}
  1. 删除元素remove(key)
>>> s.remove('1')
>>> s
{2,3,'a'}
  1. 元素的交集、并集
>>> s1 = ([2,3,4,6,8])
>>> s2 = ([1,3,5,7])
>>> s1 & s2
{3,5}
>>> s1 | s2
{1,2,3,4,5,6,7,8}

相关文章:

响应式布局简明示例

响应式布局简明示例&#xff0c;响应式布局最好同时也是自适应布局&#xff0c;然后再配合css3媒体查询&#xff0c;来达到完美的响应式布局。css3的媒体查询ie9一下是不支持的&#xff0c;这太遗憾了&#xff0c;不过幸运的是有大神已经为前端屌丝们写好了用于IE9以下的媒体查…

iOS - APP任意push新页面那些事

大家都知道&#xff0c;UINavigationController对象有一个方法pushViewController&#xff0c;用来做视图跳转&#xff0c;也是在iOS开发中常用的页面转换方法之一。大多数APP的结构一般都是&#xff0c;使用一个UITabBarController&#xff0c;每个tab上都是一个UINavigationC…

主攻ASP.NET.4.5 MVC4.0之重生:Entity Framework生成实体类步骤(十三)

1.新建一个ASP.NET MVC 4.0 项目 2.安装Entity Framework Power Tools 3.Entity Framework- -RepositoryReverse Engineer Code First 4.Install-Package EntityFramework or Update-Package EntityFramework PM -Repository Install-Package EntityFramework 已安装“EntityFr…

【廖雪峰Python学习笔记】高阶函数

Higher-order function高阶函数映射过滤算法排序算法高阶函数 变量可指向函数 >>> abs # 函数 <built-in function abs> >>> abs(-0) # 函数调用 0 >>> func abs # 变量可指向函数 >>> func(-9) # 调用变量 调用函数 9函数名…

丁贵才130702010042第二次作业

第二次作业 2.9 设有如下语句&#xff0c;请用相应的谓词公式分别把它们表示出来&#xff1a; &#xff08;1&#xff09;有的人喜欢梅花&#xff0c;有的人喜欢菊花&#xff0c;有的人既喜欢梅花有喜欢梅花。 解&#xff1a;定义谓词 P&#xff08;x&#xff09;&#xff1a;x…

SpringMVC @RequestBody接收Json对象字符串

以前&#xff0c;一直以为在SpringMVC环境中&#xff0c;RequestBody接收的是一个Json对象&#xff0c;一直在调试代码都没有成功&#xff0c;后来发现&#xff0c;其实 RequestBody接收的是一个Json对象的字符串&#xff0c;而不是一个Json对象。然而在ajax请求往往传的都是Js…

【iOS】自定义日期选择器

自定义了一个日期选择器&#xff0c;与大家分享一下&#xff0c;期待宝贵建议。 github下载地址&#xff1a;https://github.com/huahua0809/XHDatePicker 下面只是说明一下怎么用&#xff0c;具体实现请下载代码看看&#xff1b; 如果大家觉得这个分享有所帮助的话&#xff0c…

【廖雪峰Python学习笔记】函数式编程

Functional Programming高阶函数返回函数匿名函数装饰器偏函数高阶函数 面向过程的程序设计&#xff1a; 把大段代码拆成函数&#xff0c;通过一层层函数调用&#xff0c;可将复杂任务分解成若干简单的任务函数是面向过程的程序设计的基本单位计算机Computer && 计算c…

asp 随机读取ID之Access

我在用ASP连接access 这个桌面数据库的时候&#xff0c;有时候要随机读取ID&#xff0c;传统的办法是&#xff1a; select top 3 * from tablename order by Rnd(ID) 但这样不行&#xff0c;默认还是按ID排序。 解决办法加上timer() 这个函数 select top 3 * from tablenam…

iOS Plist 文件的 增 删 改

一&#xff1a;Plist 文件的创建 Plist 文件作为我们IOS开发的一种数据存储文件&#xff0c;还是经常会用到的。在看《X-code江湖录》的时候&#xff0c;看到了这一点。自己就写了一下&#xff0c;把写的东西分享出来&#xff01;先看看它的创建&#xff0c;它的创建和我们其他…

Shine Button动画效果 类似Tinder APP的卡片界面

Shine Button动画效果--WCLShineButton 类似太阳动画的button FSPagerView 主要使用UICollectionView实现的优雅的屏幕幻灯片效果&#xff0c;主要用于Banner、产品展示、欢迎引导等。有Swift和OC两个版本。 folding-cell 一个可扩展的具有折叠效果的内容单元格 Cell折叠动效…

【廖雪峰Python学习笔记】面向对象编程OOP

面向对象编程 OOP&#xff1a;Object Oriented Programming程序的基本单元&#xff1a;对象 [ 数据 操作数据的函数] [属性 方法]三大特点&#xff1a;数据封装、继承和多态OPP中的计算机程序&#xff1a; 一系列命令的集合 —— 一组函数顺序执行。函数化大为小&#xff0…

基于 CoreText 实现的高性能 UITableView

来源&#xff1a;伯乐在线 - Hawk0620 如有好文章投稿&#xff0c;请点击 → 这里了解详情 如需转载&#xff0c;发送「转载」二字查看说明 引起UITableView卡顿比较常见的原因有cell的层级过多、cell中有触发离屏渲染的代码&#xff08;譬如&#xff1a;cornerRadius、maskTo…

.net程序员面试题

1&#xff0e; 在web页面中不论显示器的分辨率的大小是800600&#xff0c;还是1024768使得页面都显示在屏幕中间。 答&#xff1a;Margin:auto; 2&#xff0e; 请利用正则表达式验证一个字符串是否为数字串 &#xff08;请用csharp&#xff09;。 1 public static b…

Android深度探索与驱动开发(一)

Android移植可分为两个部分&#xff1a;应用移植和系统移植。应用移植是指将应用程序移植到某一特定硬件平台上。由于不同硬件平台之间的差异&#xff0c;Android SDK API也有可能存在差异&#xff0c;或者将应用程序从低版本Android移植到高版本的Android上。为了保证应用程序…

【廖雪峰Python学习笔记】面向对象高级编程

文章目录为实例和类绑定属性和方法\_\_slots__限制当前class实例&#xff0c;对子类不管用property装饰器&#xff0c;将getter方法变成属性多重继承 —— 一个子类可同时获得多个父类的所有功能[Mixin]定制类枚举类元类为实例和类绑定属性和方法 创建类 class Animal(object…

5分钟 搭建免费个人博客

五分钟倒数已经可以计时了。 三步完成免费个人博客搭建&#xff0c; 这是一篇小白也能看懂的文章&#xff0c;本文主要针对mac OS &#xff0c;Windows 除了软件安装方式和命令有些区别&#xff08;装了git bash也一样&#xff09;&#xff0c;其他基本一样。 你可能会经常看到…

基数排序之算法

一、定义基数排序是一种非比较型整数排序算法&#xff0c;其原理是将整数按位数切割成不同的数字&#xff0c;然后按每个位数分别比较。由于整数也可以表达字符串&#xff08;比如名字或日期&#xff09;和特定格式的浮点数&#xff0c;所以基数排序也不是只能使用于整数。二、…

MyBaties学习记录

typeAliases详解&#xff1a; 类型别名是为 Java 类型设置一个短的名字。它只和 XML 配置有关&#xff0c;存在的意义仅在于用来减少类完全限定名的冗余&#xff1b;&#xff08;也就是为类型设置简称&#xff09; 实例: 通过包名称加上简称调用代替&#xff1b; 注解表示: // …

【廖雪峰Python学习笔记】错误、调试、测试

文章目录错误处理调试单元测试unitcase文档测试错误类型程序编写问题bug – 字符类型错误等用户输入错误 – 输入不符合规定的字符串异常&#xff0c;程序运行时无法预测 – 磁盘满了&#xff0c;无法写 错误处理 错误处理机制&#xff1a;try…except…finally… try运行可…

iOS开发——手势识别器(用手势实现图片旋转和缩小放大)

iOS开发中&#xff0c;除了有关触摸的这组方法来控制用户的手指触控外&#xff0c;还可以用UIGestureRecognize的衍生类来进行判断&#xff0c;方便了开发。 UIGestureRecognize的子类类别有以下几种&#xff1a; UITapGestureRecognizer //轻拍识别器UIPinchGestureRecognize…

直播APP常用动画效果

作者: 落影loyinglin 地址: http://www.jianshu.com/p/a9a201ed3aa8 介绍 记录、总结开发遇到一些问题&#xff0c;大家一起交流学习。 这次带来&#xff0c;对直播APP的常用动画总结。 效果展示 下面是一个很多平台都有的入门豪华礼物动画——烟花。 一个复杂的礼物动画&…

windows8下安装Visual Studio2008

windows8下安装Visual Studio2008是一个比较麻烦的事情&#xff0c;不过经过我3个小时的奋斗终于安装成功了。这是我安装Visual Studio 2008过程中遇到的最复杂的一次。 下面我用图解的方式&#xff0c;一步一步的说明安装Visual Studio2008的过程。 第一步&#xff1a;因为win…

[SDK文档]SDK简介

文档链接&#xff1a;https://docs.growingio.com/docs/sdk-integration SDK工作方式 主要内容&#xff1a;GIO采集内容&#xff0c;数据安全措施&#xff0c;针对数据采集的控制项 JS SDK 添加GIO跟踪代码于<head>...</head> 之间异步加载&#xff0c;不影响网…

mysql主从库配置ps:mysql5.6

1 Mysql cluster版本主从服务器搭建实践 主从的作用&#xff1a;MySQL的主从服务器可以满足同步数据库&#xff0c;同步表&#xff0c;同步表内容&#xff0c;也可以指定仅同步某个数据库或某个表&#xff0c;还可以排除不同步某个数据库某个表。 同步原理&#xff1a;主从数据…

XCODE 4.5 IOS多语言设置

转&#xff1a;http://blog.csdn.net/samuelltk/article/details/8480403 前些天升级到Xcode4.5&#xff0c;现在正在用Xcode4.5IOS6开发项目&#xff0c;当使用国际化时&#xff0c;遇到了一点问题&#xff0c;之前版本Xcode上新建Localizable.strings后&#xff0c;添加语言的…

socket第三方库 AsyncSocket(源码注释解读.转)

作者 OneTea 关注 2016.09.19 11:33* 字数 0 阅读 83评论 0喜欢 1#import <Foundation/Foundation.h> class AsyncSocket;//async异步的 synchro同步 class AsyncReadPacket; class AsyncWritePacket; //extern来说可以理解为扩展吧是这样的是从一个类扩展到另一个类中的…

【每日一学】复杂度分析

文章目录目标什么是数据结构复杂度分析目标 建立时间复杂度、空间复杂度意识&#xff0c;写出高质量的代码能够设计基础架构提高编程技能训练逻辑思维 什么是数据结构 广义&#xff1a;一组数据的存储结构 | 操作数据的一种方法 解决问题&#xff1a;如何更快更省的处理数据…

noip2010提高组3题题解 by rLq

本题地址http://www.luogu.org/problem/show?pid1525 关押罪犯 题目描述 S 城现有两座监狱&#xff0c;一共关押着N 名罪犯&#xff0c;编号分别为1~N。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久&#xff0c;如果客观条件具备则随时可能爆发冲突。我们用“怨气…

hdu 1306(字符串匹配)

题目链接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid1306 思路&#xff1a;一开始还以为是求最长公共序列呢。。。仔细一看&#xff0c;orz.....就是求两个串匹配时公共部分字符最多相同的个数。。。 View Code 1 #define _CRT_SECURE_NO_WARNINGS2 #include<…