码迷,mamicode.com
首页 > 编程语言 > 详细

Python基础教程 第2章: 列表和元组 学习笔记

时间:2015-12-15 19:29:29      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:

序列是一种数据结构, 它包含的元素都进行了编号(从0开始)。典型的序列包括列表、字符串和元组。其中,列表是可变的,而元组和字符串是不可变的。

个人感觉列表跟C语言中的数组很相似,但也有不用之处,比如在数组中元素的类型都是一样的,而在列表中元素的类型可以混合。

 

索引(下标):

与C语言中的数组一样,列表支持下标访问,通过下标来访问列表中的元素。

#序列赋值
x = [1, 2, 3, "hello", abc]
print x

#下标访问
print x[0]
print x[3]

#通过下标修改元素的内容
x[0] = "zzzzz"
print x
x[2] = 999
print x[2]

>>>
[1, 2, 3, ‘hello‘, ‘abc‘]
1
hello
[‘zzzzz‘, 2, 3, ‘hello‘, ‘abc‘]
999

分片:

通过分片操作,可以访问序列的一部分,其中分片需要两个索引号来指出分片的起始和结束位置。

strBuff = "www.baidu.com"
#从下标4开始截取字符串,到下标-4结束(从右向左数下标4)
strBuff = strBuff[4:-4]
print strBuff

nNumbers = [1, 2, 3, 4, 5, 6]
#通过分片访问后三个元素
print nNumbers[-3:]
#或者从左向右下标
print nNumbers[3:]
print nNumbers[3:5]

#分片访问时,如果右边的下标出现在了左边下标的左边,那么将会返回空列表
‘‘‘
从右向左下标: -6 -5  -4  -3   -2  -1  
Val:        1   2  3    4   5   6
‘‘‘
print nNumbers[-3:0]
print nNumbers[-3:-6]
print nNumbers[-1]

>>>
baidu
[4, 5, 6]
[4, 5, 6]
[4, 5]
[]
[]
6

分片时的步长:

所谓的步长,就是每次增加的长度,像C语言中的for (i = 0; i < 10; i++)循环中, i++即为for循环的步长

nNumbers = [1, 2, 3, 4, 5, 6]

#分片时如果不加步长,默认步长为1,即:
print nNumbers[1:5:1]
#修改步长为2
print nNumbers[1:5:2]

#输出列表中的所有元素,以下三种方式都可以
print nNumbers[:]
print nNumbers
print nNumbers[0:]

#修改步长为2
print nNumbers[::2]
print nNumbers[0::2]

>>>
[2, 3, 4, 5]
[2, 4]
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6]
[1, 3, 5]
[1, 3, 5]

nNumbers = [1, 2, 3, 4, 5, 6]

#列表相加
nNumbers += [9, 9, 10]
print nNumbers

#列表乘法
#用数字x乘以一个列表会生成新的列表,而在新的列表中, 原先的列表将被重复x次
data = [22]
print data
data *= 10
print data

#列表清空
nNumbers = []
print nNumbers

>>>
[1, 2, 3, 4, 5, 6, 9, 9, 10]
[22]
[22, 22, 22, 22, 22, 22, 22, 22, 22, 22]
[]

成员资格:

检查一个值(元素)是否在列表当中,使用in操作符,如果存在则返回True,否则返回False

data = [1, 2, 3, 10, 22, "Hello", "Python", ".py"]
print 1 in data
print 22 in data
print "Python" in data
print "python" in data
print "py" in data


database = [
    ["admin", "123456"],
    ["adminn", "admin888"],
    [aaaa, "6666"]
    ]

username = raw_input("Input UserName: ")
password = raw_input("Input PassWord: ")

if [username, password] in database :
    print "OK"
else:
    print "No"

>>> ================================ RESTART ================================
>>>
True
True
True
False
False
Input UserName: admin
Input PassWord: 123456
OK
>>> ================================ RESTART ================================
>>>
True
True
True
False
False
Input UserName: adminn
Input PassWord: 123456
No

取列表中的最小值,最大值,元素个数:

data = [1, 2, 3, 10, 22, "Hello", "Python", ".py"]

print len(data)
print min(data)
print max(data)
print max(10, 22, 11, -7)

>>>
8
1
Python
22

 

 

as

dasd

 

Python基础教程 第2章: 列表和元组 学习笔记

标签:

原文地址:http://www.cnblogs.com/dacainiao/p/5049186.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!