文章目录
列表创建
- 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可,其语法表示:
list1 = ['Google', 'Runoob', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
list4 = ['red', 'green', 'blue', 'yellow']
- 列表的数据项不需要具有相同的类型。
- 空列表
list = [] ## 空列表
list.append('Google') ## 使用 append() 添加元素
list.append('Runoob')
print list
运行结果为:
['Google', 'Runoob']
访问列表中的值
下标索引
- 使用下标索引来访问列表中的值
- 列表索引从0开始,第二个元素的索引是1
- 索引可以从尾部开始,最后一个元素的索引是-1,往前一位是-2
- 使用切片的形式截取字符
[start:end:step]
,end表示切片截至(不包含该)位置。 - 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()方法
- 用于从列表中找出某个值第一个匹配项的索引位置
- 语法:
list.index(x[, start[, end]])
x-- 查找的对象。
start-- 可选,查找的起始位置。
end-- 可选,查找的结束位置。 - 返回值:该方法返回查找对象的索引位置,如果没有找到对象则抛出异常。
x = [1,2,2,3,3,3,4,4,4,4]
x.index(2)
count()方法
- 用于统计某个元素在列表中出现的次数。
- 语法:
list.count(obj)
- 返回值:返回元素在列表中出现的次数。
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语句
- 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()方法
- 反向列表中元素
- 语法:
list.reverse()
list1 = ['Google', 'Runoob', 'Taobao', 'Baidu']
list1.reverse()
print ("列表反转后: ", list1)
运行结果为:
列表反转后: ['Baidu', 'Taobao', 'Runoob', 'Google']
sort()方法
- 对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
- 语法:
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列表,希望能与诸位共勉,最后的实训练习是我们老师安排的作业,附在此处,列表的增删改查基本就了解到这个了。