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

lists,tuples and sets of Python

(python2.7.x)

Lists 列表

列表是一个有序序列(集合),可变的(可以修改),可以理解为其他语言中的数组类型,但是列表更灵活更强大。

列表由方括号[]来定义的,它的元素可以是任意类型或对象,一个列表中可以包含混合元素。

例:

x = []                                                                       创建空列表

x = [1, 2]    x = ['a', 'b']   x = [[1, 2]]   x = [{1, 2}]   创建列表,它的元素可是任意类型或对象

x = [1, 'ab', [1, 2], {1, 2},{1:1, 2:2}]                        创建列表,一个列表中有混合元素

列表访问可以通过切片或索引来访问,索引值也是从0开始,不同于其他语言数据的时,列表索引可以是负数,-1表示最后一个元素。

x = ['a', 'b', 'c']

x = ['a''b''c']
正索引012
负索引-3-2-1

索引不能大于最大正索引,不能小于最小负索引,否则会报列表索引超出范围错误:IndexError: list index out of range

切片[index1:index2:step],从索引index1开始(包含index1)到索引index2(不包含index2),步长step(元素的间距),这三个参数都是可选的

Tuples 元组

元组跟列表很相似,但是不可变(不能修改,只能创建)。元组是由()括号来创建的

例:

x = (1, 2, 3)

x[1] = 5   因元组不可变的序列,这样操作会报错:TypeError: 'tuple' object does not support item assignment

注意:单元组就是元组只有一个元素时,需在元素后加个英文半角逗号”,“,否则创建的将不是元组

例:

>>x = (1)

>>x

1                                这样创建的不是元组,只是一个附值操作

>>type(x)

<type 'int'>                 这样创建的不是元组,只是一个附值操作

>>x = (1,)

>>x

(1,)

>>type(x)

<type 'tuple'>

>>x = ()                      空元组的创建,这样是合法的

>>x

()

>>type(x)

<type 'tuple'>

Sets 集合

集合对象是一组无序排列元素组成。集合有两种不同的类型:可变集合(set)、不可变集合(frozenset)。

可变集合:可以添加和删除元素,它不是可哈希的,因此不能用做字典的键也不能做其他集合中的元素。

不可变集合:与可变集合相反,不可修改,有哈希值,可用做字典的键或作为集合中的一个成员。

集合的创建:

>>set('hypo')

set(['h', 'y', 'p', 'o'])

>>frozenset('hypo')

frozenset(['h', 'y', 'p', 'o'])

转载于:https://www.cnblogs.com/hypo106/p/4154837.html

相关文章:

Javascript中使用WScript.Shell对象执行.bat文件和cmd命令

WScript.Shell&#xff08;Windows Script Host Runtime Library&#xff09;是一个对象&#xff0c;对应的文件是C:/WINDOWS/system32/wshom.ocx&#xff0c;Wscript.shell是服务器系统会用到的一种组件。shell 就是“壳”的意思&#xff0c;这个对象可以执行操作系统外壳常用…

控件绘制的方法

1处理WM_PAINT 最极端的选择是执行一个 WM_PAINT 处理程序&#xff0c;并且自己完成所有的绘制。这意味着&#xff0c;您的代码将需要进行一些与呈现控件相关的琐事 — 创建适当的设备上下文&#xff08;一个或多个&#xff09;&#xff0c;决定控件的大小和位置&#xff0c;绘…

google gflags的参数解析,便捷实用

命令行参数解析&#xff0c;一直是我们后段开发人员需要经常使用的一个功能&#xff0c;用来从终端解析接口的输入 &#xff0c;并做出对应的处理。这里为使用C/python的开发人员推荐一个便捷的命令行解析接口集 gflags。 我们之前使用C的getopt/getopt_long 函数需要自己使用…

linux进程下的线程数,Linux下查看进程线程数的方法

0x01&#xff1a;ps -ef只打印进程&#xff0c;而ps -eLf会打印所有的线程[rootcentos6 ~]# ps -ef | grep rsyslogdroot 1470 1 0 2011 ? 00:01:13 /sbin/rsyslogd -c 4root 29865 28596 0 22:45 pts/5 00:00:00 grep rsyslogd[rootcentos6 ~]# ps…

OpenCV学习(20) grabcut分割算法

在OpenCV中&#xff0c;实现了grabcut分割算法&#xff0c;该算法可以方便的分割出前景图像&#xff0c;操作简单&#xff0c;而且分割的效果很好。算法的原理参见papaer&#xff1a;“GrabCut” — Interactive Foreground Extraction using Iterated Graph Cuts 比如下面的一…

VMware workstation中rhel安装VMware tools失败

切换登录用户为root即可转载于:https://www.cnblogs.com/dazzleC/p/10555809.html

g-git 相关命令 及其 基本原理探索(二):git 在工作中的常用命令操作 ,超级实用!!!

上一篇git 基本原理对git的使用以及文件分布已经有了一个整体的了解。 本篇将对工作中常用的一些git 操作命令的操作进行总结归纳&#xff0c;方便今后查阅。 文章目录1. 分离头指针2. 通过HEAD 来进行不同提交的差异对比3. 删除不需要的分支4. 对当前分支最近一次提交的messag…

Linux中的文件寻址,Linux文件寻址算法:逻辑地址到物理地址的转换

题目描述&#xff1a;编写一个函数实现Linux文件寻址的算法&#xff0c;即读取文件当前位置到物理存储位置的转换函数&#xff0c;需要给出运行的测试数据&#xff0c;可以假设和模拟需要的数据和结构。即编写一个函数unsigned long ltop(unsigned long logblkNum). 计算逻辑块…

datatable和dataset的区别

DataSet 是离线的数据源 DataTable 是数据源中的表.当然也可以自己建一张虚表。插入数据库中 DataSet是DataTable的容器DataSet可以比作一个内存中的数据库&#xff0c;DataTable是一个内存中的数据表&#xff0c;DataSet里可以存储多个DataTabledatatable是dataset中的一个表另…

如何避免重构带来的危险

http://blog.jobbole.com/30049/ 重构代码很危险&#xff0c;它会给测试工作增加巨大的负担。除非你的程序需要重构&#xff0c;一定不要轻易重构代码。我这里所说的并不是把一个for循环改成while循环&#xff0c;或把一个StringBuffer改成StringBuilder&#xff0c;我说的是大…

ip通信(第二周)

计算机网络分为局域网&#xff08;LAN&#xff09;、城域网&#xff08;MAN&#xff09;和广域网&#xff08;WAN&#xff09;。拓扑结构分为星型网&#xff0c;树形网&#xff0c;分布式网络&#xff0c;总线型网络&#xff0c;环型网络和复合型网络。认识了几个常见的国际标准…

《DDIA》读书笔记

数据存储系统的经典书籍&#xff1a; 从数据系统的特性开始&#xff0c;先讲单机存储引擎 再到 分布式存储系统&#xff0c;最后到一些数据流的处理方式&#xff0c;作者深入浅出&#xff0c;译者更是精雕细琢&#xff0c;本书需要细品。 将持续阅读整理&#xff0c;先从理论走…

linux网卡设置adsl上网,Linux下设置ADSL自动拨号上网

前段时间下载了红帽的linux&#xff0c;版本为redhat 9.0&#xff0c;整整刻了三张CD。最初是为了体验一下linux下QQ聊天软件的功能&#xff0c;最后因内核太低(官方推荐内核在2.6以上&#xff0c;我下载的版本是2.4)而告终。最大的收获是了解了linux下文件系统及linux下软件与…

安卓天天酷跑脚本刷高分图文教程

http://news.gamedog.cn/a/20130923/241742.html

SpringBoot 中 JPA 的使用

前言 第一次使用 Spring JPA 的时候&#xff0c;感觉这东西简直就是神器&#xff0c;几乎不需要写什么关于数据库访问的代码一个基本的 CURD 的功能就出来了。下面我们就用一个例子来讲述以下 JPA 使用的基本操作。 新建项目&#xff0c;增加依赖 在 Intellij IDEA 里面新建一个…

《DDIA》读书笔记(一):可靠性、可扩展性、可维护性

这一节描述了密集型应用的基本思考方式。 可靠性。意味着系统发生故障&#xff0c;也能保持正常的运行。故障会集中在三个方面&#xff0c;硬件故障(通常是随机和不相关的)、软件故障(通常是系统性的bug,较难发现&#xff0c;较难处理)&#xff0c;人为故障(不可避免得时不时出…

TCP协议-TCP连接管理

TCP协议是 TCP/IP 协议族中一个非常重要的协议。它是一种面向连接、提供可靠服务、面向字节流的传输层通信协议。TCP(Transmission Control Protocol,传输控制协议)。

[Unity WWW] 跨域访问解决方法

什么是跨域访问 域(Domain)是Windows网络中独立运行的单位&#xff0c;域之间相互访问则需要建立信任关系(即Trust Relation)。信任关系是连接在域与域之间的桥梁。当一个域与其他域建立了信任关系后&#xff0c;2个域之间不但可以按需要相互进行管理&#xff0c;还可以跨网分配…

linux环境安全测评实验报告,linux第一次实验报告

iframe载入页面过程显示动画效果http://www.xfeixiang.com/Bug/Detail/A2FD7EFFA8CA72F1加密算法使用(三)&#xff1a;用用BASE64采用Base64编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到 package testEncrypt; import java.security.Key; import java.secu ...jav…

2019-03-20 Python爬取需要登录的有验证码的网站

当你向验证码发起请求的时候&#xff0c;就有session了&#xff0c;记录下这次session因为每当你请求一次验证码 或者 请求一次登录首页&#xff0c;验证码都在变动验证码的链接可能不是固定的&#xff0c;可能需要GET/POST请求,获取那部分变动的信息 session requests.sessio…

Mac上 如何快速玩起rocksdb

想要自己随时随地写一写rocksdb的代码&#xff0c;并且快速测试&#xff0c;但是公司的物理机登陆过于麻烦&#xff0c;想要验证功能的话其实在自己的电脑就完全可以了。 安装 brew install rocksdb&#xff0c;默认二进制文件安装在/usr/local/bin在~/.bashrc或者自己正在使用…

OC学习篇之---对象的拷贝

在前一篇文章中我们说到了如何解决对象的循环引用问题&#xff1a;http://blog.csdn.net/jiangwei0910410003/article/details/41926369&#xff0c;这一篇文章我们就来介绍一下OC中的对象拷贝概念&#xff0c;这个对于面向对象语言中都会有这种的问题&#xff0c;只是不同的语…

linux脚本自定义赋值,JMeter——运用BeanShell给自定义的变量动态赋值

这个计划中定义了以下组件&#xff1a;用户自定义变量&#xff1a;里面定义了2个变量&#xff0c;一个是us(注意&#xff0c;未对它初始化)&#xff0c;一个变量名是&#xff1a;test &#xff0c;值为&#xff1a;123456一个BeanShell Sampler:${test}表示传入BeanShell Sampl…

VS2010与Qt设置出现红线提示

任何类库导入都有可能出现红线&#xff0c;主要原因是“包含目录没有设置”点击“项目”-> &#xff08;你的项目&#xff09;属性->配置属性->VC目录->包含目录 把你的目录写入&#xff08;我的是&#xff1a;H:\Qt\4.8.5\include&#xff09;点击确定~ 完成。转载…

java-方法。(新手)

//导入包。import java.util.Arrays;import java.util.Calendar;import java.util.Date;//创建的一个类。public class zylx1 { //公共静态的主方法。 public static void main(String[] args){ //调用方法。 lx8(); } //创建方法。//使日历向后偏移…

《Bigtable:a distributed storage system for struct data》笔记

Bigtable 可以说是log-structed以及page-oriented 两种存储引擎的整合体&#xff0c;我们性能优越的单机存储引擎leveldb和rocksdb就是基于google的bigtable存储系统实现的。 论文地址Bigtable: A Distributed Storage System for Structured Data bigtable是基于分布式的存储…

linux 查看线程详细信息,Linux 下查看线程信息

1. 使用 pstree -p PIDps aux | grep firefox | grep -v grepcharles 26058 0.0 0.0 4908 1152 ? S 19:17 0:00 /bin/sh /usr/lib/firefox-3.5.4/run-mozilla.sh /usr/lib/firefox-3.5.4/firefoxcharles 26073 7.6 3.4 284264 70164 ? Sl 19:1…

Bootstrap学习的点点滴滴

1&#xff09;网站&#xff1a;http://www.bootcss.com/http://v3.bootcss.com/getting-started/#downloadhttps://github.com/twbs/bootstraphttp://getbootstrap.com杭州移动用的是2.3版本&#xff0c;手册地址&#xff1a; http://docs.bootcss.com/bootstrap-2.3.2/docs/ja…

Angry Grammar Nazi

Angry Grammar Nazi 1、给出的几个要处理的字符串没有重复性&#xff08;子串&#xff09;&#xff0c;不必考虑某个单词是算在哪个种类中&#xff1b; 2、给出的几个要处理的字符串&#xff08;除了“lol”&#xff09;都是单词或短语&#xff0c;可以直接搜索 3、给出的处理长…

Linux——查看

查看当前系统版本&#xff1a; lsb_release -a #没有装&#xff1a;yum install lsb 查看当前运行端口&#xff1a; netstat -atunlp #没有装&#xff1a;yum install net-tools -a &#xff1a;all&#xff0c;表示列出所有的连接&#xff0c;服务监听&#xff0c;Socket…