列表的定义
在Python中,列表是由一系元素按特定顺序构成的数据序列,这样就意味着定义一个列表类型的变量,可以保存多个数据,而且允许有重复的数据。
items1 = [35, 12, 99, 68, 55, 87]
items2 = ['Python', 'Java', 'Go', 'Kotlin']
除此以外,还可以通过Python内置的list
函数将其他序列变成列表。准确的说,list
并不是一个函数,而是创建列表对象的构造器(后面会讲到对象和构造器这两个概念)。
items1 = list(range(1, 10))
print(items1) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
items2 = list('hello')
print(items2) # ['h', 'e', 'l', 'l', 'o']
列表的创建方式
创建列表的方式1:字面量语法
list1 = ['apple', 'orange']
print(list1) # ['apple', 'orange']
创建列表的方式2:构造器语法
list2 = list(range(1, 10))
print(list2) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
创建列表的方式3:生成式(推导式)语法
list3 = [i ** 2 for i in range(1, 10)]
print(list3) # [1, 4, 9, 16, 25, 36, 49, 64, 81]
# 获取列表元素的个数---->len()
print(len(list3)) # 9
遍历列表中的元素
方式1:
for i in range(len(list1)):
print(list[i]) # list[0] list[1]
方式2:
for x in list1:
print(x) # apple orange
方式3:
for i, x in enumerate(list1):
print(i, x) # 0 apple 1 orange
列表的运算
# 重复运算
list4 = [1, 10, 100] * 5
print(list4) # [1, 10, 100, 1, 10, 100, 1, 10, 100, 1, 10, 100, 1, 10, 100]
# 成员运算
print(10 in list4) # True
print(5 in list4) # False
print(5 not in list4) # True
# 列表的合并
list5 = [1, 3, 5, 7]
list6 = [4, 4, 8]
temp=list5+list6
print(temp) # [1, 3, 5, 7, 4, 4, 8]
# 列表的索引
nums=[35, 98, 120, 27, 66]
print(nums[0],nums[-5]) #打印列表中第0和第-5个数,35,35
print(nums[2],nums[-3]) ##打印列表中第2和第-3个数,120,120
# 列表的切片
nums=[35,12,97,55,68,73,49,90,20]
print(nums[2:])#从第三个开始
print(nums[:])#与原来一样
print(nums[::-1])#反转全取
print(nums[1:3])#取第二个及第三个
print(nums[2:7:2])#取第三个到第7个之间,步长2
print(nums[10:15])#超出范围,空列表
print(nums[5:1])#前大后小,空列表(若加负数步长就不是空列表了)
输出结果依次为:
[35, 12, 97, 55, 68, 73, 49, 90, 20]
[20, 90, 49, 73, 68, 55, 97, 12, 35]
[12, 97]
[97, 68, 49]
[ ]
[ ]
# 列表的比较(要相同类型,比如不能整型与字符串进行比较)
list7 = list(range(1, 8, 2))
list8 = [1, 3, 5, 7, 9]
#比较两个元素是否一一相等
print(list5==list7) # True
print(list8==list7) # False
print(list8!=list7) # True
#比较两个列表的对应元素的大小:不看元素多少,从第一个元素开始一一比大小
print(list7<list8) # True
#字符串比较:比较字符对应的编码,英文比较a,b,c,d....z;汉语,比较编码;都是从第一个字符开始
#ord()函数----> 查看字符对应的编码
#chr()函数----> 将编码还原字符
列表的方法
#找元素
#index()---->查找元素在列表中的索引(下标)
if 'b' in items:
print(items.index('b'))
# count()---->统计元素在列表中出现的次数
print(items.count('a'))
# 添加元素
items.append('b') # 在列表尾部增加元素
print(items)
items.insert(1,'s') # 在指定位置增加元素
print(items)
#删除元素
items.pop() #删除最后一个
items.pop(4) #删除指定的
items.remove('a') #指定删除的那个,若有重复的,删的是第一个
print(items)
# 清空元素
items.clear()
print(items)
items=['b','g','a','w','p','a']
# 反转
items.reverse()
print(items)
# 排序(可以修改reverse参数控制升序或降序)
items.sort() #升序
print(items)
items.sort(reverse=True)#降序
print(items)