在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
当然有用的。Python里面的列表是什么?学这个有用吗?列表是Python基础知识里不可分割的一环,本篇文章结合案例为大家仔细讲解了Python基础知识里面的列表内容,学好这一部分一定要理论结合实践仔细揣摩,小编认真整理,希望对大家有所帮助。
二、列表
Python中最基本的数据结构是序列(sequence),序列中每个元素被分配一个序号——即元素的位置,也称 为索引,第一个索引是0,最后一个元素索引标记为-1。
Python中包含6种内建序列:
列表、元组、字符串、unicode字符串、buffer对象、xrange对象。
2.1序列的操作
所有序列类型都可以进行的特定操作如下:
索引(indexing)
分片(sliceing)
加(adding)
乘(multiplying)
成员资格(检查某个元素是否属于序列)
2.1.1.1索引
序列中所有元素都是有编号的,从0开始递增。元素可以通过编号进入访问。
实例:
#!/usr/bin/python
months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sept','Oct','Nov','Dec']
endings = ['st','nd','rd'] + 17* ['th'] + ['st','nd','rd'] + 7* ['th'] + ['st']
year = raw_input("year: ")
month = raw_input("month: ")
day = raw_input("day: ")
month_num = int(month)
day_num = int(day)
month_name = months[month_num-1] #索引
day_ord = day + endings[day_num-1] #索引
print month_name + ' ' + day_ord + ' ' + year
输入year: 2011
month: 12
day: 21
输出:Dec 21st 2011
2.1.1.2分片
使用索引可以访问单个元素,使用分片可以访问一定范围内的元素。
分片需要提供两个索引作为边界,用冒号分隔两个索引,第1个索引的元素包含在分片内,第二个索引的元素不包含在分片内,如:
tag='http://www.python.org'
tag[7:21]
输出:'www.python.org'
注:tag[7:21],取第7到第20个字符。
若想包含从第一个开始(或直到最后一个结束)的字符串,可以将前一个(或后一个)索引置空,如:tag[:5], tag[7:], tag[:]
步长:分片中的第三个值(开始与结束索引之后)
如:
idx=[1,2,3,4,5,6,7,8,9,10]
idx[::2] 输出:[1, 3, 5, 7, 9]
idx[::-1] 输出:[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
2.1.1.3序列加法
两种相同类型的序列才能进行连接操作,如:
[1,2,3] + [4,5,6] 输出:[1, 2, 3, 4, 5, 6]
‘hello’ + ’_’ + ‘world’ 输出:’hello_world’
不同类型序列不能相加,如:[1,2,3] + ‘hello’ 提示出错
2.1.1.4序列乘法
数字x与序列相乘后,原序列被重复x次。
[12] * 10 输出:
列表初始化,创建10个元素空间但没有值:[None] * 10
2.1.1.5成员资格
in运算,检查一个值是否在序列中。
例1:
users=['taobao', 'alibaba', 'root']
input_name=raw_input('Enter your user name: ')
if input_name in users:
print input_name + ' is in users!'
else:
print 'Warning! ' + input_name + ' is not in users!'
例2:
db = [
['smith','4309'],
['jones','0921'],
['alber','8745'],
]
username = raw_input('user name: ')
pin = raw_input('pin code: ')
if [username, pin] in db:
print 'Access granted!'
else:
print 'Warning: username or pin is error!'
2.2列表的基本操作(三)
列表与元组的区别:列表可以修改,元组不可以修改。
列表的元素写在方括号中,元素间用逗号隔开,如:edward = [‘Edward’,29,’hangzhou’]
(1)元素赋值:如x[1]=0
(2)删除元素:
names = [‘Alice’, ‘Beth’, ‘Earl’, ‘Dimdo’]
del names[2]
结果names = [‘Alice’, ‘Beth’, ‘Dimdo’]
(3)分片赋值:
可以一次为多个元素赋值:
name = list(‘perl’)
name[1:] = list(‘ython’)
结果name = [‘p’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’]
可以实现插入元素:
num = [1, 5]
num [1:1] = [2, 3, 4]
结果num = [1, 2, 3, 4, 5]
可以实现删除元素:
num = [1, 2, 3, 4, 5]
num[2:4] = []
结果num = [1, 2, 5]
2.3列表的方法
(1)append
num = [1,2,3]
num.append(4)
结果 num = [1,2,3,4]
(2)count
x = [‘to’, ‘be’, ‘or’, ‘not’, ‘to’, ‘be’]
x.count(‘to’)
结果为2
(3)extend
a = [1, 2, 3]
b = [4, 5, 6]
a.extend(b)
结果a = [1, 2, 3, 4, 5, 6]
(4)index
a=['who', 'am', 'i', '?']
a.index('?')
结果为3
(5)insert
num = [1, 2, 3, 4, 5]
num.insert(3, ‘four’)
结果num = [1, 2, 3, ‘four’, 4, 5]
(6)pop:移除列表中的一个元素,并且返回该元素的值,如:
x = [1, 2, 3]
x.pop() 返回3
x.pop(1) 返回2
(7)remove:移除表中某个值
x = [‘to’, ‘be’, ‘or’, ‘not’, ‘to’, ‘be’]
x.remove(‘be’)
结果 x = [‘to’, ‘or’, ‘not’, ‘to’, ‘be’]
(8)reverse:将列表中的元素反向存放
x = [1, 2, 3]
x.reverse()
结果 x = [3, 2, 1]
(9)sort:对原列表进行排序,返回值为空
x = [5, 1, 2, 4, 3, 6]
y=x.sort()
结果 x = [1, 2, 3, 4, 5, 6]
y无值
sorted()函数:
x = [5, 1, 2, 4, 3, 6]
y=sorted(x)
结果 x = [5, 1, 2, 4, 3, 6]
y = [1, 2, 3, 4, 5, 6]
(10)比较函数cmp():
cmp(1,2) 返回-1
cmp(1,1) 返回0
cmp(2,1) 返回1
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
零基础学Python的过程有多难?需要多久?
Python是一门简单高效,应用范围广泛的计算机语言。先我们要知道Python已经算是一门相对其他编程语言而言,最适合零基础新手学习的开发语言,换句话说,如果连Python都学不进去就不要考虑进入IT技术行业了。那么零基础学Python的过程有多难呢?下面我们一起来看看Python的学习内容和规划。
8923
2019-09-29 14:03:33
七大Python技巧帮助你提升工作效率
本文将介绍七大Python技巧帮助大家提升工作效率,它们分别是整理字符串输入,控制可以/不可以导入什么,用「__slots__」节省内存,迭代器切片,实现比较运算符的简单方法,跳过可迭代对象的开头,只包含关键字参数的函数等等。大家要是能够学会这七大Python技巧,就能极大的提高自己的Python技能,现在让我们一起来看看吧!
8028
2019-11-12 15:05:23
零基础如何学好Python开发?
作为一个小白想学好Python开发应该先确定明确目标、做好学习Python系统规划、选择适合的开发工具、进阶提升学习规划、多练多看加深对Python程序的理解,想入门一门编程语言就需要不断的进行练习。
5449
2019-12-16 19:41:16
Python基础学习笔记之运算符
许多人对于编程学习中的数学能力都存在或多或少的误解,虽然每一种编程语言都包含了处理数字和进行数学计算的方法,但是并不像一些人想象得那么难,相反还十分简单,毕竟不是一定要数学天才才能学得好编程。本文为大家总结了关于运算符的Python基础学习笔记,下面一起来看看吧!
5111
2020-04-28 10:36:49
Python零基础入学课程学什么?
如果你没有具备任何一门语言的面向对象知识,是完完全全的编程小白,那么博学谷的Python零基础入学课程将带你快速上手Python的基础入门知识。学习该套入学课程,你将掌握 Python入门语法所需要的一切知识点,为将来的深入学习Python打下坚实的基础。下面我们来看看Python零基础入学课程的具体学习内容。
5013
2020-06-22 18:42:35