Python列表知识点详解

列表是Python基础知识里不可分割的一环,本篇文章结合案例为大家仔细讲解了Python基础知识里面的列表内容,学好这一部分一定要理论结合实践仔细揣摩,小编认真整理,希望对大家有所帮助。
在这里插入图片描述
Python中最基本的数据结构是序列(sequence),序列中每个元素被分配一个序号——即元素的位置,也称 为索引,第一个索引是0,最后一个元素索引标记为-1。

Python中包含6种内建序列:

列表、元组、字符串、unicode字符串、buffer对象、xrange对象。

1、序列的操作

所有序列类型都可以进行的特定操作如下:

  • 索引(indexing)
  • 分片(sliceing)
  • 加(adding)
  • 乘(multiplying)
  • 成员资格(检查某个元素是否属于序列)

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

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]

1.3序列加法

两种相同类型的序列才能进行连接操作,如:

[1,2,3] + [4,5,6] 
输出:[1, 2, 3, 4, 5, 6]
‘hello’ + ’_’ + ‘world’ 
输出:’hello_world’

不同类型序列不能相加,如:

[1,2,3] + ‘hello’ 
提示出错

1.4序列乘法

数字x与序列相乘后,原序列被重复x次。

[12] * 10 
输出:列表初始化,创建10个元素空间但没有值:[None] * 10

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、列表的基本操作(三)

列表与元组的区别:列表可以修改,元组不可以修改。

列表的元素写在方括号中,元素间用逗号隔开,如:

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]

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获取更高的薪资,那下面这套Python学习资料一定对你有用!

😝朋友们如果有需要的话,可以V扫描下方二维码免费领取🆓

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

#### **一、Python学习路线**

image-20230619144606466

python学习路线图1

二、Python基础学习
1. 开发工具

2. 学习笔记

在这里插入图片描述

3. 学习视频

在这里插入图片描述

三、Python小白必备手册

图片

四、数据分析全套资源

在这里插入图片描述

五、Python面试集锦
1. 面试资料

在这里插入图片描述

在这里插入图片描述

2. 简历模板

在这里插入图片描述

** 因篇幅有限,仅展示部分资料,添加上方即可获取**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值