1、数据结构:通过某种方式组织在一起的数据元素的集合

2、在Python中,最基本的数据结构是序列(sequence),最后一个元素标记为-1,倒数第二个元素为-2,第一个元素位于最开始,索引为0

3、Python包含6种内建的序列,最常用的两种类型:列表和元组.其他的内建序列类型有字符串、Unicode字符串、buffer对象和xrange对象

4、列表和元组的主要区别在于,列表可以修改,元组则不能

months =['January','February','March','April','May','June','July','August','September','October','November','December']

endings= ['st','nd','rd'] + 17*['th']\+ ['st','nd','rd'] + 7*['th']\+ ['st']

year= raw_input('Year:')

month= raw_input('Month(1-12):')

day= raw_input('Day(1-31):')

month_number=int(month)

day_number=int(day)

month_name= months[month_number-1]

ordinal= day + endings[day_number-1]print month_name + ' ' + ordinal + '.' + year

索引示例

5、使用分片操作来访问一定范围内的元素。分片通过冒号相隔两个索引.第一个索引的元素包含在分片内,而第二个则不包含在分片内

numbers = [1,2,3,4,5,6,7,8,9,10]print numbers[3:6]#[4,5,6]

print numbers[-3:]#[8,9,10]

url= raw_input('Please enter the URL:')

domain= url[11:-4]print "Domain name:" +domain#Please enter the URL: http://www.python.org#Domain name: python

分片示例

6、进行分片的时候,还有一个隐式参数步长(step length),如果步长为负数,即从右到左提取

7、序列相加,两种相同类型的序列才能进行连接操作

8、乘法: 用数字x乘以一个序列生成新的序列,在新的序列中,原来的序列将被重复x次

#创建一个占有十个元素空间

sequence = [None] * 10

printsequence#[None, None, None, None, None, None, None, None, None, None]

nums= [1,2,3]print nums*4

#[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]

乘法示例

9、为了检查一个值是否在序列中,使用in运算符.然后返回相应的值:条件为真返回Ture,条件为假返回False

permissions = 'rw'

print 'r' inpermissionsprint 'e' inpermissions#True#False

users= ['mlh', 'foo', 'bar']

you_name_is_exist= raw_input('Enter your user name:') inusersprintyou_name_is_exist#Enter your user name: 45#False

subject= '$$$ Get rich now!! $$$'

print '$$' insubject#True

#检查用户名和PIN码

database =[

['albert', '1234'],

['dilbert','4242'],

['smith', '7524'],

['jones', '9843']

]

username= raw_input('User Name:')

pin= raw_input('PIN code:')if [username, pin] in database: print 'Access granted'

#User Name: smith#PIN code: 7524#Access granted

View Code

10、内建函数len、min和max。len函数返回序列中包含元素的数量,min函数和max函数则分别返回序列中最大和最小的元素

#元素赋值

x = [1,1,1]

x[1] = 2

printx#[1, 2, 1]

#删除元素

del x[2]printx#[1, 2]

#分片赋值

name = list('Perl')

name[2:] = list('ar')printname#['P', 'e', 'a', 'r']#分片赋值是将原序列不等长的序列分片替换

numbers= [1,5,6]

numbers[2:3] = [2,3,4]printnumbers#[1, 5, 2, 3, 4]

#利用分片赋值删除元素

nums = [1,2,3,4,5]

nums[1:4] =[]printnums#[1, 5]

分片赋值

11、列表方法

调用: 对象.方法(参数)

append方法用于在列表末尾追加新的对象(直接修改原来的列表)

count方法统计某个元素在列表中出现的次数

extend方法可以在列表的末尾一次性追加另一个序列中的值

index方法用于从列表中找出某个值第一个匹配项的索引位置

insert方法用于将对象插入到列表中

pop方法会移除列表中的一个元素(默认是最后一个),并返回该元素的值.pop方法是唯一一个既能修改列表又返回元素值(处理None)的列表方法

remove方法用于移除列表中某个值的第一个匹配项

reverse方法将列表中的元素反向存放

sort方法用于在原位置对列表进行排序.sorted会返回已排序的列表副本

aname = [1,2,3]

aname.append(4)printaname#[1, 2, 3, 4]

print ['to','at','or','on','to','in','to'].count('to')#3

a= [1,2,3]

b= [4,5,6]print a+b## [1, 2, 3, 4, 5, 6]

a.extend(b)printa#[1, 2, 3, 4, 5, 6]

knight= ['we','are','the','knights','who','say','ni']print knight.index('who')#4

numbers= [1,2,3,5,6,7]

numbers.insert(3,'four')printnumbers#[1, 2, 3, 'four', 5, 6, 7]

x= [1,2,3,4,5]printx.pop()#5

y= ['to','be','or','on']

y.remove('to')printy#['be', 'or', 'on']

z= [1,3,2,5,4]

z.reverse()printz#[4, 5, 2, 3, 1]

m= [4,6,2,5,7,1,3,0,9]printsorted(m)printm#[0, 1, 2, 3, 4, 5, 6, 7, 9]#[4, 6, 2, 5, 7, 1, 3, 0, 9]

m.sort()printm#[0, 1, 2, 3, 4, 5, 6, 7, 9]

#len作为键函数(按元素长度排序)

n = ['aardvark','abalone','acde','add','aerate']

n.sort(key=len)printn#['add', 'acde', 'aerate', 'abalone', 'aardvark']

列表方法

12、元组与列表一样,也是一种序列.唯一的不同是元组不能修改.

创建元组的语法很简单:如果你用逗号分隔了一些值,那么你就自动创建了元组

tuple函数的功能与list函数基本上是一样的:以一个序列作为参数并把它转换为元组

元组的分片还是元组,列表的分片还是列表

元组是不可替代的:元组可以在映射(和集合的成员)中当作键使用,而列表则不行

#元组中的元素值是不允许修改的,但是我们可以对元组进行连接组合

m = (1,2,3)

n= (4,)print m+n#(1, 2, 3, 4)

#创建空元组

tup =()#元组只包含一个元素时,需要在元素后面添加逗号

tup1 = (50,)print 3*(40+2)#126

print 3*(40+2,)#(42, 42, 42)

print tuple('abcd')#('a', 'b', 'c', 'd')

元组示例

13、tuple和list不是真正的函数,而是一种类型

14、列表的冒号操作

## 列表操作

list1 = [9,8,7,6,5,4,3,2,1,0]print(list1[0:])#[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

print(list1[1:])#[8, 7, 6, 5, 4, 3, 2, 1, 0]

print(list1[:-1])#[9, 8, 7, 6, 5, 4, 3, 2, 1]

print(list1[3:-3])#[6, 5, 4, 3]

print(list1[::2])#[9, 7, 5, 3, 1]

print(list1[2::])#[7, 6, 5, 4, 3, 2, 1, 0]#一个冒号,两个参数表示起始位置,默认间隔为1#两个冒号,前两个参数表示起始位置,最后一个参数表示间隔

print(list1[::3])#[9, 6, 3, 0]

print(list1[::-1])#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

列表冒号

python元组和列表的联系_Python 列表和元组相关推荐

  1. python处理列表中字典_Python 列表、元组、字典及集合操作详解

    一.列表 列表是Python中最基本的数据结构,是最常用的Python数据类型,列表的数据项不需要具有相同的类型 列表是一种有序的集合,可以随时添加和删除其中的元素 列表的索引从0开始 1.创建列表 ...

  2. python 元组 列表 字典区别_Python列表、元组、字典、集合、字符串的异同总结

    1.数据类型 列表.元组.字典.集合.字符串均属于python3的标准数据类型. 字符串和元组属于不可变数据,即创建后不可修改. 列表.字典.集合属于可变数据,即创建后可以修改元素. 2.创建有元素的 ...

  3. python列表字典操作_Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结...

    创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_star ...

  4. python列表求平均数_python 列表平均值

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我有一个列表:类似: data = , , , ] 我想把这个算出来... 我想 ...

  5. python列表比较方法_python列表常用方法

    list是一个类,用中括号括上,逗号分隔,元素可以是数字,字符,字符串,也可以是嵌套列表,布尔类型. 1.通过索引取值 li=[1,12,9,'age',['wangtianning',[19,'10 ...

  6. python列表反向排序_Python 列表排序方法reverse、sort、sorted详解

    python语言中的列表排序方法有三个:reverse反转/倒序排序.sort正序排序.sorted可以获取排序后的列表.在更高级列表排序中,后两中方法还可以加入条件参数进行排序. reverse() ...

  7. python列表的操作方法_Python 列表(List)操作方法-经管之家官网!

    本文主要介绍了Python中列表(List)的详解操作方法,包含创建.访问.更新.删除.其它操作等, 下列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有 ...

  8. python列表浅复制_Python列表深浅复制详解

    转自:https://www.cnblogs.com/blaomao/p/7239203.html 在文章<Python 数据类型>里边介绍了列表的用法,其中列表有个 copy() 方法, ...

  9. python列表的加法_Python列表加法理解

    我是Python新手,不能将函数转换为列表理解.理解涉及value函数,其包含类如下:class Card(object): # Lists containing valid candidates f ...

最新文章

  1. 深度学习(十一)——Winograd(1)
  2. 如何通过组件化提高开发效率?
  3. Wireshark之捕获过滤器
  4. tcpdf中文解决方案
  5. 强化学习算法面试问题 解答
  6. 微信公众号开发之微信支付开发
  7. office2019安装D盘_office2016or2019安装在D盘的方法-可收藏备用
  8. 华为android9使用外置存储卡,华为mate9如何删除内存卡文件?华为手机清理内存教程...
  9. Unity ProjectTiny用纯ECS写个跃动的小球
  10. 何恺明的ResNet论文,被引量刚刚突破10万大关
  11. bootstrap 页面垂直居中_bootstrap4如何实现div的水平居中以及垂直居中
  12. 【python学习】自定义三维向量类 加减乘除查看值和长度
  13. 一周学python系列(7)——面向对象
  14. java的抽象方法和抽象类
  15. 2020年全球权威机器人评选RBR50放榜:中国仅一家公司入选,大疆落榜
  16. android淡入淡出动画循环,Android activity动画(淡入淡出)
  17. C#设计模式——组合模式(Composite Pattern)
  18. 《Android Studio 开发实战从零基础到App上线》笔记1
  19. Eclipse开发的家庭理财通APP
  20. “网站正在建设”H5模板

热门文章

  1. 高性价游戏蓝牙耳机推荐,圣诞节送男朋友高颜值蓝牙耳机分享
  2. 掌握在Rational Rose中绘制协作图(交互图)的操作方法
  3. 显示获取服务器时间失败,获取服务器时间失败
  4. Vijos P1098合唱队形
  5. C语言输入成绩等级输出对应分数段
  6. 电器“服务”焕新生活?香!香!香!
  7. Linux 中deb文件选择安装路径
  8. 互联网创业者必备的七大知识体系
  9. 图片处理神器ImageMagick以及PHP的imagick扩展
  10. QT UTC(T和Z格式)时间转换为北京时间