.Net程序员之Python基础教程学习----列表和元组 [First Day]
一. 通用序列操作:其实对于列表,元组 都属于序列化数据,可以通过下表来访问的。下面就来看看序列的基本操作吧.
1.1 索引:
序列中的所有元素的下标是从0开始递增的. 如果索引的长度的是N,那么所以的范围是-N~N-1之间,超过这个范围就会提示 IndexError:index out of range
>>> greeting ='Hello world'
>>> print greeting
Hello world
>>> print greeting,greeting[-1]
H d
1.2 分片:
A.简单的分片:
分片是基于索引基础上的,可以理解为取一定区域的数据,和C#中的substring差不多,以及C#Linq提供的skip()和take()方法.
Note: A,B分别对应索引的下标,取值区域是有数据,请仔细想一想,其实-1的下标数据等价于m的下标12,12>9所以有数据. 那么对于web 就悲剧了.
>>> web ='www.baidu.com'
>>> print web #4对于的b
baidu
>>> print web #
>>> print web#9对应的第二个'.'-1对应的m
.co
B.等差数列形式的分片:
默认情况下是按照下标间隔为1的时候,进行获取的,其实可以通过第三个参数来进一步分割., 10个数字没两个取1次.
>>> number =
>>> print number
>>> print number[::-2]
>>> print number[::2]
1.3 序列相加:
同类型的可以想加,不同类型的会报错Type Error
>>> +
>>> +['hello']
>>> +'hello'
Traceback (most recent call last):
File "", line 1, in
+'hello'
TypeError: can only concatenate list (not "str") to list
>>>
1.4 乘法:
觉得Python的乘法很有意思,可以理解为对现有的数据的一种多个Copy.
>>> *10
>>> 'New '*10
'New New New New New New New New New New '
1.5 有用方法.
通过in可以Check元素是否存在,max,min,len,count分别获取最大值,最小值,长度,包含数量
>>> number =
>>> print 'Max Number:' + str(max(number))
Max Number:7
>>> print '2的数量是:' + str(number.count(2))
2的数量是:2
>>> print 'number列表的长度是:' + str(len(number))
number列表的长度是:8
二. 列表.
列表可以理解为C语言中的链表.或者C#中的List,列表可以实现上面出现的通用序列号操作,可以对列表进行增,删,改,查,排序等方法
2.1 列表的基础
>>> print list('123') #功过【】可以将字符串转换为列表
['1', '2', '3']
>>> list1= # 通过[]声明列表
>>> list2 = list(123) #123是整形,不存在索引,所以转换的时候报错了。
Traceback (most recent call last):
File "", line 1, in
list2 = list(123)
TypeError: 'int' object is not iterable
2.2 列表的基本操作
A 增,删,改
>>> numbers =
>>> numbers=5; #修改
>>> print numbers
>>> numbers.remove(5) #删除value值为5的
>>> print numbers
>>> del numbers #删除第一个元素
>>> print numbers
>>> numbers.append(7) #在尾部添加一个元素
>>> print numbers
B 分片赋值【神奇的分片操作】
整体替换
>>> Greeting=
>>> Greeting =
>>> Greeting
替换区间
>>> Greeting=
>>> Greeting=
>>> Greeting
批量添加,用替换[]
>>> Greeting=
>>> Greeting=
>>> Greeting
批量删除,用[]替换
>>> Greeting=
>>> Greeting=[]
>>> Greeting
Note:对于种种操作其实都可以理解为一个替换。
2.3 列表的方法.
>>> Number =
>>> Number.extend()#添加一个列表,必须是列表
>>> Number
>>> Names =['Frank','Lock','Vincent','Tingna']
>>> Names.index('Lock')#通过Index取下标
1
>>> Names.insert(2,'Hardy')
>>> Names
['Frank', 'Lock', 'Hardy', 'Vincent', 'Tingna']
>>> Names.pop()#最有一个元素删除
'Tingna'
>>> Names
['Frank', 'Lock', 'Hardy', 'Vincent']
>>> Names.pop(0)#踢出第一个元素
'Frank'
>>> Names
['Lock', 'Hardy', 'Vincent']
>>> Names.reverse()#反序
>>> Names
['Vincent', 'Hardy', 'Lock']
>>> Names.sort() #从小到达
>>> Names
['Hardy', 'Lock', 'Vincent']
>>> Names.sort(key=len) #通过长度排序
>>> Names
['Lock', 'Hardy', 'Vincent']
>>> Names.sort(reverse=True) #从大到小
>>> Names
['Vincent', 'Lock', 'Hardy']
三. 元组不可变序列
通过()号声明,与list的区别在于一旦声明后不可变.
>>> tuple1 = (1,2,3)
>>> tuple1
(1, 2, 3)
>>> tuple(list('hello'))
('h', 'e', 'l', 'l', 'o')
>>>
四. 总结
本章总结了Python基础教程里面的列表和元组,其实整体来说和.net区别不算太大.比如奇妙的切片操作其实就是简化了.net里面的addrang,revomeall这些方法. 确实正如书里面所说Python可以用100行代码做到C语言1000行代码所需要完成的事情.
好了洗洗睡睡了.求明天公司年会能抽中Iphone土豪金大奖,哈哈哈.
[利用一个月的下班之余看完Python基础教程,完成基础教程学习博客系列.加油!]
页:
[1]