3、python自学之路-数据类型之序列与元组

  序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。最常见的是列表和元组。

  列表与元组最大的区别在于列表可以进行更改,而元组不行。

  列表是最常用的python数据类型,列表的数据项不需要具有相同的类型(可插入字符、数字、列表、元组、字典等),可对其进行增删改查的操作。

  下面是列表及元组的属性例子。

列表的增加和修改: 

 1 #!usr/bin/env python
 2 #author lhy
 3 #列表学习:
 4 #列表的增删改查
 5 list = [‘纸巾‘,‘杯子‘,‘瓶子‘,‘笔记本‘,‘手机‘]
 6 #增加
 7 list.append(‘电脑‘)#追加到最后面
 8 print(list)
 9 list.insert(1,‘支架‘)#增加到序列为1的位置
10 print(list)
11 #修改
12 list[1]=‘高支架‘
13 print(list)

增加修改结果如图:

列表的删除操作:

# del list[1] #删除高支架方法一,如果不指定序列号,表示删除整个列表
# list.remove(‘高支架‘)#删除高支架方法二
# list.pop(1)##删除高支架方法三,如果括号里面没有值,表示默认为最后一个
# print(list)

列表查询操作:

#查询,python查询顺序是从左到右
print(list)#==list[:]#查询所有列表
print(list[1])#==list[:]#查询指定序列号
print(list[2:6])#==list[:]#查询所有第2-5内容,顾头不顾尾
print(list[-1])#==list[:]#查询所有最后一个
print(list[-3:])#==list[:]#查询倒数3个
print(list.index(‘手机‘))#==list[:]#查询手机所在的序列号

查询结果如图:

列表的其他属性:复制、拼接、计数、倒置、排序:

list1 = list.copy()
print(list1)
list1.append(‘测试copy是否影响其他‘)
print(list,list1)#copy之后互相不影响
list.extend(list1)#拼接list 与list1,测试拼接之后被拼接是否不存在
print(list,list1)#拼接之后被拼接的还存在
print(list.count(‘手机‘))#计算对象在列表中的个数
list.reverse()#倒置列表
print(list)
list.sort()#python排序机制timesort,机制详见http://www.cnblogs.com/clement-jiao/p/9243066.html
print(list)

代码结果如图(由于列表过长,右边只截取了部分):

元组查询同列表

元组学习:元组类似列表,但是不能修改,只能查询同list
array_test = (‘纸巾‘,‘杯子‘,‘瓶子‘,‘笔记本‘,‘手机‘)
print(dir(array_test))#‘count‘, ‘index‘
print(array_test)#查询所有
print(array_test[1])#查询序列为1的位置
print(array_test[2:6])#查询序列为1的位置
print(array_test[-1])#查询序列为最后一个的位置
print(array_test.count(‘杯子‘))#计算元素个数
print(array_test.index(‘手机‘))
# del array_test#删除元组
# del array_test[1] #报错TypeError: ‘tuple‘ object doesn‘t support item deletion
print(array_test)

执行代码如图:

原文地址:https://www.cnblogs.com/simple-girl/p/9803192.html

时间: 2024-11-10 07:13:09

3、python自学之路-数据类型之序列与元组的相关文章

2、python自学之路-数据类型之decode与encode

Python 3最重要的新特性之一是对字符串和二进制数据流做了明确的区分.文本总是 Unicode,由 str 类型表示,二进制数据则由 bytes 类型表示.Python 3不会以任意隐式的方式混用 str 和 bytes ,你不能拼接字符串和字节流,也无法在字节流里搜索字符串(反之亦然),也不能将字符串传入参数为字节流的函数(反之亦然). str 和 bytes 的转换关系如图: str 和 bytes 的转换例子 #!usr/bin/env python #author lhy #str

我的Python自学之路一:Python学习路线

作为以为小白,在学习Python的时候,必然会走一定的弯路,有人在弯路上走丢了,有人走出了弯路.我就是属于还未走出弯路的同学,所以我想谈谈我的Python学习之路. 我进入这个坑是因为这个最近几年比较火,想必大家都知道吧,我开始学习Python时,先学习的是linux基本命令,作为小白,在装linux时出现许多问题,小白安装可以看看http://blog.csdn.net/u013142781/article/details/50529030这个教程,可能能帮助你成功安装. 其次,学习linux

Python自学之路——Python基础(四)内置函数

对上表一些比较重要常用的内置函数做一个整理 chr()与ord()     chr()是将ASCII中十进制编号转换成相应的字符,而ord()刚好相反 c = chr(49) o = ord('1') print(c) print(o) 输出结果: 1 49 知道了chr()的基本用法,可以利用它来生成一个字母验证码,因为验证码都是随机生成的,所以这里要涉及到random模块.在ASCII中,大写字母的十进制编号是从65到90. 小写字母是97到122 1 import random 2 li

Python自学之路【第一篇】:Python简介和入门

Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最新的TIOBE排行榜,Python赶超PHP占据第五!!! 由上图可见,Python整体呈上升趋势,反映出Python应用越来越广泛并且也逐渐得到业内的认可!!! Python可以应用于众多领域,如:数据分析.组件集成.网络服务.图像处理.数值计算和科学计算等众多领域.目前业内几

**.Python自学之路:网络编程

socket socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. 1.首先来看一下简易版的客户端与服务器的搭建 客户端 #!/usr/bin/env python # -*- coding:utf-8 -*- import socket ip_port = ('127.0.0.1',9999) #测试地址与端口 sk = socket.socket() #生成句柄 sk.conne

Python自学之路——装饰器的秘密

先不管装饰器到底是个什么东东,让我们来聊一聊函数的几个点吧.我们知道,在python里,一切皆是对象,那么函数呢,当然也是对象,而且人家还是一级对象呐.既然是对象,那它就可以被赋值给变量,反之,通过变量也能调用函数.好,需特别注意的点来了,函数调用一定是函数名 + (),如果没有这个括号,函数是不会被调用的,它只能是表示内存里的一个地址,看下面 1 def happy(): 2 print('be happy') 3 print (happy) #并没有调用happy函数,只是打印了happy的

##.Python自学之路:反射(非常重要的编程思路)

反射的意义:通过字符串获取一个类的方法的内存地址,并调用该方法. 格式:if hasattr(self, 'anAttr') func = getattr(self, 'anAttr')  #获取内存地址 func()                                    #调用该方法,等价于anAttr() setattr(x, 'y', v) delattr(x, 'y') 看下面这个例子 版本一:效率低下,若类WebServer中的方法多个上百,那么主函数中的if语句就要判

5.Python自学之路:购物篮小程序

1 # 购物商城 2 # 商品展示,价格 3 # 购买商品,加入购物车,一直往里面加 4 # 付款,你有4000元,钱不够,就撤单. 5 6 items = {'cpu': '800', '主板': '800', '机箱': '300', '显卡': '2000', '键盘': '800', '耳机': '300'} 7 Cost_list = items.items() 8 print(Cost_list) 9 Cost_items = {} 10 while True: 11 item_na

17.Python自学之路:面对过程编程之继承

继承 面向对象编程 (OOP) 语言的一个主要功能就是"继承".继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展. 通过继承创建的新类称为"子类"或"派生类". 被继承的类称为"基类"."父类"或"超类". 继承的过程,就是从一般到特殊的过程. 抽象类仅定义将由子类创建的一般属性和方法. OO开发范式大致为:划分对象→抽象类→将类组织成