Python 列表

列表创建

  1. 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可,其语法表示:
list1 = ['Google', 'Runoob', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
list4 = ['red', 'green', 'blue', 'yellow']
  1. 列表的数据项不需要具有相同的类型。
  2. 空列表
list = []          ## 空列表
list.append('Google')   ## 使用 append() 添加元素
list.append('Runoob')
print list

运行结果为:

['Google', 'Runoob']

访问列表中的值

下标索引

  1. 使用下标索引来访问列表中的值
  • 列表索引从0开始,第二个元素的索引是1
  • 索引可以从尾部开始,最后一个元素的索引是-1,往前一位是-2
  1. 使用切片的形式截取字符[start:end:step],end表示切片截至(不包含该)位置。
  2. start为1可以省略,end为列表长度可以省略,step步长为1可以省略,省略步长可以同时省略最后一个冒号。
list = [10, 20, 30, 40, 50, 60, 70, 80, 90]
print(list[0:4])
print ("list[1:-2]: ", list[1:-2])
## 从第二位开始(包含)截取到倒数第二位(不包含)

运行结果为:

[10, 20, 30, 40]
list[1:-2]:  [20, 30, 40, 50, 60, 70]

``

index()方法

  1. 用于从列表中找出某个值第一个匹配项的索引位置
  2. 语法:list.index(x[, start[, end]])
    x-- 查找的对象。
    start-- 可选,查找的起始位置。
    end-- 可选,查找的结束位置。
  3. 返回值:该方法返回查找对象的索引位置,如果没有找到对象则抛出异常。
x = [1,2,2,3,3,3,4,4,4,4]
x.index(2)

count()方法

  1. 用于统计某个元素在列表中出现的次数。
  2. 语法:list.count(obj)
  3. 返回值:返回元素在列表中出现的次数。
x = [1,2,2,3,3,3,4,4,4,4]
x.count(2)

更新列表

对列表的数据进行修改和更新,会用到常见的列表方法,方法如下:

append()方法

在列表末尾添加新的对象。
语法:list.append(obj),obj – 添加到列表末尾的对象

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

运行结果为:

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

extend()方法

在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。
语法:list.extend(seq),seq – 元素列表,可以是列表、元组、集合、字典,字符串,若为字典,则仅会将键(key)作为元素依次添加至原列表的末尾。

fruit = [1,'word','True','pear']
month = ['january','february','march','april']
fruit.append('july')
fruit.extend(month)

运行结果为:


[1, 'word', 'True', 'pear', 'july', 'january', 'february', 'march', 'april']
fruit = [1,'word','True','pear']
month = ['january','february','march','april']
fruit.extend('july')  #字符串中每个字符都算元素
print(fruit)

运行结果:

[1, 'word', 'True', 'pear', 'j', 'u', 'l', 'y']

insert()方法

用于将指定对象插入列表的指定位置。
语法:list.insert(index, obj)
index – 对象 obj 需要插入的索引位置。
obj – 要插入列表中的对象。

x = [123,'xyx','haaha','abc']
x.insert(2,'xixi')
print(x)

运行结果为:

[123, 'xyx', 'xixi', 'haaha', 'abc']

删除列表

del语句

  1. del 语句删除列表中的元素
list = ['Google', 'Runoob', 1997, 2000]
print ("原始列表 : ", list)
del list[2]
print ("删除第三个元素 : ", list)

运行结果为:

原始列表 :  ['Google', 'Runoob', 1997, 2000]
删除第三个元素 :  ['Google', 'Runoob', 2000]

pop方法

  • 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
  • 语法:list.pop([index=-1]),默认为 index=-1,删除最后一个列表值,括号里的索引值可以改,不超过列表总长度就行。
x = ['Google', 'Runoob', 'Taobao']
y = x.pop(1) #pop括号里索引是1
print( "删除的项为 :", y)
print ("列表现在为 : ", x)

运行结果为:

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

remove()方法

用于移除列表中某个值的第一个匹配项。
语法:list.remove(obj),obj – 列表中要移除的对象。

x = ['Google', 'Runoob', 'Google','Taobao']
x.remove('Google') #移除第一个匹配项 ,第二个不会移除
print(x)

运行结果为:

['Runoob', 'Google', 'Taobao']

列表支持的操作符

表达式介绍结果描述
len([1, 2, 3])列表元素个数3长度
[1, 2, 3] + [4, 5, 6]连接两个列表[1, 2, 3, 4, 5, 6]组合
[‘Hi!’] * 4列表和整数相乘[‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’]重复
3 in [1, 2, 3]测试列表中是否包含某个元素Ture or False元素是否存在于列表中
for x in [1, 2, 3]: print x,循环遍历1 2 3迭代

嵌套列表

使用嵌套列表即在列表里创建其它列表。

 a = ['a', 'b', 'c']
 n = [1, 2, 3]
 x = [a, n]
 print(x)
 print(x[0])
 print(x[0][1])

运行结果为:

[['a', 'b', 'c'], [1, 2, 3]]
['a', 'b', 'c']
'b'

列表比较

列表比较需要引入 operator 模块的eq 测相等方法。

# 导入 operator 模块
import operator
a = [1, 2]
b = [2, 3]
c = [2, 3]
print("operator.eq(a,b): ", operator.eq(a,b))
print("operator.eq(c,b): ", operator.eq(c,b))

运行结果为:

operator.eq(a,b):  False
operator.eq(c,b):  True

其他列表方法

reverse()方法

  1. 反向列表中元素
  2. 语法:list.reverse()
list1 = ['Google', 'Runoob', 'Taobao', 'Baidu']
list1.reverse()
print ("列表反转后: ", list1)

运行结果为:

列表反转后:  ['Baidu', 'Taobao', 'Runoob', 'Google']

sort()方法

  1. 对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
  2. 语法:list.sort( key=None, reverse=False)
  • key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
  • reverse – 排序规则,reverse = True 降序, reverse = False 升序(默认)
# 列表
vowels = ['e', 'a', 'u', 'o', 'i']
# 降序
vowels.sort(reverse=True)
# 输出结果
print ( '降序输出:', vowels )

运行结果为:

降序输出: ['u', 'o', 'i', 'e', 'a']

实训练习

'''创建一个列表[110, dog', 'cat',120,'apple']
2.在字符串‘doq','cat'中间插入空列表。
3.删除‘apple'4.分别找出数值110,120的位置.
5.对找出来的110和120做乘以10的运算。
6.输出列表'''
x = [110,'dog','cat',120,'apple']
x.insert(2,[])
print(x)
del x[5]
print(x.index(110))
print(x.index(120))
x[0] = x[0]*10
print(x[0])
x[4]*=10
print(x[4])
print(x)

运行结果:

[110, 'dog', [], 'cat', 120, 'apple']
0
4
1100
1200
[1100, 'dog', [], 'cat', 1200]

杳杳碎碎念

关于python列表,希望能与诸位共勉,最后的实训练习是我们老师安排的作业,附在此处,列表的增删改查基本就了解到这个了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值