python学习——列表

python学习——列表

文章底部有测试代码 感兴趣可以拿去跑一下 注释写的也比较详细 如果有什么疑惑请私信

列表的概念

Python列表的定义

Python中的列表,是由一系列按照特定顺序排列的元素组成。是Python中内置的可变的序列。

列表可以存放整数、实数、字符串、列表、元组等任何形式的内容,并且在一个列表中,可以存放多种不同类型的元素。

1.使用赋值运算符直接创建列表

语法格式

listname = [element1, element2, element3,…,element n]

listname是列表的名称,中括号里的内容为列表中的元素

列表特点:没有个数限制,也不限制元素类型(只要是Python支持的数据类型都可以)

list1 = [1,2,3,‘我是中国人’,12.00,[‘数据1’,‘数据2’]]

2.创建空链表

Python中,可以创建空格列表

语法格式:

emptylist = [ ]

3.range()

用法及作用:

Python3 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。

Python3 list() 函数是对象迭代器,可以把range()返回的可迭代对象转为一个列表,返回的变量类型为列表。
Python2 range() 函数返回的是列表

函数语法:

range(stop)
range(start, stop[, step])

参数说明:
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4:]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

示例:
>>>range(5)
range(0, 5)
>>> for i in range(5):
...     print(i)
... 
0
1
2
3
4
>>> list(range(5))
[0, 1, 2, 3, 4]
>>> list(range(0))
[]
>>>

4.append()

用法及作用:

append() 方法用于在列表末尾添加新的对象。

函数语法:

list.append(obj)

参数:

obj – 添加到列表末尾的对象。

实例:
list1 = ['Google', 'Runoob', 'Taobao']
list1.append('Baidu')
print ("更新后的列表 : ", list1)
结果:

更新后的列表 : [‘Google’, ‘Runoob’, ‘Taobao’, ‘Baidu’]

5.extend()

用法及作用

extend() 函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

函数语法

list.extend(seq)

参数:

seq – 元素列表。

实例:
aList = [123, 'xyz', 'zara', 'abc', 123];
bList = [2009, 'manni'];
aList.extend(bList)

print "Extended List : ", aList ;
结果:

Extended List : [123, ‘xyz’, ‘zara’, ‘abc’, 123, 2009, ‘manni’]

6.insert()

用法及作用

将元素增加到指定位置

函数语法

list.insert(index, obj)

参数:

index – 对象 obj 需要插入的索引位置。
obj – 要插入列表中的对象。

实例:
aList = [123, 'xyz', 'zara', 'abc']
 
aList.insert( 3, 2009)
 
print "Final List : ", aList
结果:

Final List : [123, ‘xyz’, ‘zara’, 2009, ‘abc’]

7.pop()

用法及作用

删除并返回指定位置(默认最后一个)上的元素

函数语法

list.pop([index=-1])

参数:

obj – 可选参数,要移除列表元素的索引值,不能超过列表总长度,默认为 index=-1,删除最后一个列表值。

实例:
 
list1 = ['Google', 'Runoob', 'Taobao']
list_pop=list1.pop(1)
print "删除的项为 :", list_pop
print "列表现在为 : ", list1
结果:

删除的项为 : Runoob
列表现在为 : [‘Google’, ‘Taobao’]

8.remove()

用法及作用

删除首次出现的指定元素

函数语法

list.remove(obj)

参数:

obj – 列表中要移除的对象。

实例:
aList = [123, 'xyz', 'zara', 'abc', 'xyz'];

aList.remove('xyz');
print "List : ", aList;
aList.remove('abc');
print "List : ", aList;
结果:

List : [123, ‘zara’, ‘abc’, ‘xyz’]
List : [123, ‘zara’, ‘xyz’]

9.切片操作 (可以转至:切片操作详解

用法及作用

python中的切片操作功能十分强大,通常我们利用切片来进行提取信息,进行相关的操作,

函数语法

列表名[起始位置:终止位置:步长]

实例:
list=[1,2,3,4,5,6,7,8,9,10]
print(list[::-1])#倒着切 结果:[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
print(list[::2])# 结果:[1, 3, 5, 7, 9]
print(list[1::2])#从下标为1的元素开始切 结果:[2, 4, 6, 8, 10]
list[::5]=[6,1]#依次替换从列表中切片出来的俩个数   注意如果用切片选定元素进行替换的话 切片出来的元素个数一定要和替换元素的个数相等 否则会报错
print(list)#结果:[6, 2, 3, 4, 5, 1, 7, 8, 9, 10]
del list[::3]#删掉切片的第三个
print(list)#结果:[2, 3, 5, 1, 8, 9]
结果:

看上面代码注释

10.sort()

用法及作用

sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。

函数语法

list.sort( key=None, reverse=False)

参数:

key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse – 排序规则,reverse = True 降序, reverse = False 升序(默认)。

实例:
aList = ['Google', 'Runoob', 'Taobao', 'Facebook']
 
aList.sort()
print ( "List : ", aList)


# 列表
vowels = ['e', 'a', 'u', 'o', 'i']
 
# 降序
vowels.sort(reverse=True)
 
# 输出结果
print ( '降序输出:', vowels )


# 获取列表的第二个元素
def takeSecond(elem):
    return elem[1]
 
# 列表
random = [(2, 2), (3, 4), (4, 1), (1, 3)]
 
# 指定第二个元素排序
random.sort(key=takeSecond)
 
# 输出类别
print ('排序列表:', random)
结果:

List : [‘Facebook’, ‘Google’, ‘Runoob’, ‘Taobao’]
降序输出: [‘u’, ‘o’, ‘i’, ‘e’, ‘a’]
排序列表:[(4, 1), (2, 2), (1, 3), (3, 4)]

代码备份:


#列表的创建
print('1')#结果:1
list1 = []
list2 =[1,2,3]


print(list1)#结果:[]
print(list2)#结果:[1, 2, 3]
print(list1+list2)#结果:[1, 2, 3]
print(list2[0])#结果:1


del list2[2]#删除列表中的第3个元素
print(list2)# 结果:[1, 2]

#range()函数
for i in range(0,10):
    print(i)#结果:0到9有换行

print(list(range(10)))
#在python3中用range返回的是一个可操作的对象 而不是在python2中返回的是一个列表 所以这个时候需要用list将返回的对象转换成列表
#结果:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]


#append()   方法:在列表尾部追加元素
list2.append(4)#在list2尾部追加一个元素4
print(list2)# 结果:[1, 2, 4]


#extend()   方法:将一个列表增加到另一个列表尾部
list3=[1,1,1]
list2.extend(list3)#将list3增加到list2尾部
print(list2)#结果:[1, 2, 4, 1, 1, 1]
list2.extend([2,2,2,'wtu'])
print(list2)#结果:[1, 2, 4, 1, 1, 1, 2, 2, 2, 'wtu']


#insert()   方法:将元素增加到指定位置
list2.insert(3,6)#在下标为3的位置增加元素6
print(list2)#结果:[1, 2, 4, 6, 1, 1, 1, 2, 2, 2, 'wtu']


#pop()  方法:删除并返回指定位置(默认最后一个)上的元素
print(list2.pop())#打印返回的参数  结果:wtu
print(list2)#打印删除后的结果 结果:[1, 2, 4, 6, 1, 1, 1, 2, 2, 2]
print(list2.pop(0))#指定删除下标为0的元素 结果:1
print(list2)#结果:[2, 4, 6, 1, 1, 1, 2, 2, 2]


#remove()   方法:删除首次出现的指定元素
list2.remove(2)#删除列表中第一次出现的2
print(list2)#结果:[4, 6, 1, 1, 1, 2, 2, 2]


#切片操作[起始位置:终止位置:步长] 若步长为负数表示从后往前切
list=[1,2,3,4,5,6,7,8,9,10]
print(list[::-1])#倒着切 结果:[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
print(list[::2])# 结果:[1, 3, 5, 7, 9]
print(list[1::2])#从下标为1的元素开始切 结果:[2, 4, 6, 8, 10]
list[::5]=[6,1]#依次替换从列表中切片出来的俩个数   注意如果用切片选定元素进行替换的话 切片出来的元素个数一定要和替换元素的个数相等 否则会报错
print(list)#结果:[6, 2, 3, 4, 5, 1, 7, 8, 9, 10]
del list[::3]#删掉切片的第三个
print(list)#结果:[2, 3, 5, 1, 8, 9]


#列表排序
list3=[10,1,4,5,7,3,8,2,9,0]
list3.sort()#默认升序
print(list3)#排序完成 结果:[0, 1, 2, 3, 4, 5, 7, 8, 9, 10]
list3.sort(reverse=True) #传入reverse=True变成降序
print(list3)#结果:[10, 9, 8, 7, 5, 4, 3, 2, 1, 0]
#使用内置函数sorted()进行排序
print(sorted(list3))#sorted有返回值 返回列表 sort()是直接在列表上进行操作 结果:[0, 1, 2, 3, 4, 5, 7, 8, 9, 10]
print(sorted(list3,reverse=True))#降序 结果:[10, 9, 8, 7, 5, 4, 3, 2, 1, 0]


#用于序列操作的常用内置函数
#1.len(list) 求列表长度的函数
print(len(list3))#列表长度为10 结果:10
#2.sum(list) 列表求和
print(sum(list3))#结果:49
#3.max/min(list) 求列表最大值/最小值
print('list3的最大值为:',max(list3))#结果:list3的最大值为: 10
print(min(list3))#结果:0

#创建元组
tuple=(1,2,3,4,5)
print(tuple)#结果:(1, 2, 3, 4, 5)
print(type(tuple))#type()返回元素类型 结果:<class 'tuple'>
tuple1=(1)
print(tuple1)#结果:1
print(type(tuple1))#结果:<class 'int'>
tuple2=(1,)
print(tuple2)#结果:(1,)
print(type(tuple2))#结果:<class 'tuple'>

list=[1,2,3]
tuple=tuple(list)#将list转换为tuple型
print(tuple)
print(type(tuple))


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wy-1226

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值