列表的定义
中括号[]内以逗号分隔开,按照索引,存放各种数据类型,每个位置代表一个元素
list_t = ['张三','Lucy',123]
print(list_t) # ['张三', 'Lucy', 123] list_t = list('Alex')
print(list_t) # ['A', 'l', 'e', 'x'] list_t = list(['张三','Lucy',123])
print(list_t) # ['张三', 'Lucy', 123]
列表的特性
# 可以存放多个值
# 按照从左到右的顺序定义列表元素,下标从0开始顺序访问,有序
# 可修改指定索引位置对应的值,可变 # 注:
# 若列表中的元素全部都是字符串,
# 则可以使用join使之拼接为字符串,
# 否则只能使用for循环拼接为字符串
列表常用操作
索引
I = ["egon","alex","seven","yuan"]
print(I[0]) # egon
print(I[-1]) # yuan
print(I[-2]) # seven
切片
I = ["egon","alex","seven","yuan"]
print(I[1:3]) # ['alex', 'seven']
print(I[1:]) # ['alex', 'seven', 'yuan']
print(I[:3]) # ['egon', 'alex', 'seven']
print(I[:]) # ['egon', 'alex', 'seven', 'yuan']
print(I[::3]) # ['egon', 'yuan'] 跨度为3
print(I[::-1]) # ['yuan', 'seven', 'alex', 'egon'] 反转了
长度
I = ["egon","alex","seven","yuan"]
print(len(I)) #
包含
I = ["egon","alex","seven","yuan"]
if "yuan" in I:
print("ok") # ok
循环
I = ["egon","alex","seven","yuan"]
for i in I:
print(i)
分割【字符串转列表】
s = "hello world"
v = s.split(" ")
print(v) # ['hello', 'world']
s = "hello*world"
v = s.split("*")
print(v) # ['hello', 'world']
连接【列表转字符串】
I = ['hello', 'world']
s = "-".join(I)
print(s) # hello-world
# 注:使用join方法,必须列表元素全部为字符串
列表常用方法
追加、清空
# 在原来的值后面追加
li = [11,22,33,44]
li.append(55)
print(li) # [11, 22, 33, 44, 55]
# 清空列表
li.clear()
print(li) # []
拷贝、计算、扩展
# 拷贝
li = [11,22,33,44]
v = li.copy()
print(v) # [11, 22, 33, 44]
# 计算元素出现的次数
v = li.count(22)
print(v) # # 扩展原列表
li.extend([234,"不得了"])
print(li) # [11, 22, 33, 44, 234, '不得了']
获取、插入、删除
# 根据值获取,值的位置,左边优先
li = [11,22,33,44]
v = li.index(44)
print(v) # # 在指定索引位置插入元素
li.insert(0,30) # 指定位置、要插入的数据
print(li) # [30, 11, 22, 33, 44] # 删除某个指定索引值,默认为最后一个并获取该值
li = [11,22,33,44]
v = li.pop(2)
print(li) # [11, 22, 44]
print(v) # # 删除列表中的指定值,左边优先
li = [11,22,33,22,44]
li.remove(22)
print(li) # [11, 33, 22, 44]
翻转、排序
# 将当前列表翻转
li = [11, 33, 22, 44]
li.reverse()
print(li) # [44, 22, 33, 11] # 排序正序
li.sort()
print(li) # [11, 22, 33, 44]
# 排序倒序
li = [11, 33, 22, 44]
li.sort(reverse=True)
print(li) # [44, 33, 22, 11]
range
# 注:range在Python2中直接创建
# 在Python3中只有当for循环时才挨个创建
s = range(1,10)
print(s) # range(1, 10)
for i in range(1,10):
print(i) # 使用range创建列表,range左边【,右边),步长
li = list(range(1,10))
print(li) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
li = list(range(1,10,2))
print(li) # [1, 3, 5, 7, 9]