列表
列表是由多个值构成的序列,列表本身也可以包含其他列表,通过创建分层结构,可用于大量储存数据信息。
创建及访问
- Python中采用方括号“[]”表示并创建列表
- 列表是有序的集合,可以通过索引的方式进行访问,索引从0开始
- 负整数也可以作为列表索引,-1指列表最后一个元素索引,-2指倒数第二个元素索引
- 通过切片方式可获得子列表,切片中第一个整数是开始处的索引,第二个整数是结束处的索引,但不包括第二个索引的值(左闭右开)
- 加号+可以实现列表的连接,乘号*可以实现列表的复制
修改、添加和删除列表元素
修改列表元素
指定列表名和要修改的元素索引,重新赋值
name = ["Jack", "Bob", "Alice"]
print(name)
# 打印结果 ["Jack", "Bob", "Alice"]
name[1] = "Liming"
print(name)
# 打印结果 ["Jack", "Liming", "Alice"]
输出结果:
['Jack', 'Bob', 'Alice']
['Jack', 'Liming', 'Alice']>>>
添加列表元素
- append()在列表末尾添加元素
- insert()在列表索引位置插入元素
name = ["Jack", "Bob", "Alice"]
name.append("Li Hua")
print(name)
name.insert(1,"Li Ming")
print(name)
输出结果:
['Jack', 'Bob', 'Alice', 'Li Hua']
['Jack', 'Li Ming', 'Bob', 'Alice', 'Li Hua']>>>
删除列表元素
- del语句删除列表指定索引的元素
- pop()弹出列表指定索引的元素,空白时默认弹出最后一个元素
- remove()根据指定的值删除元素,只删除第一个指定的值,重复值需要多次操作
name = ["Jack","Li Ming", "Bob", "Alice", "Li Hua", "Li Hua"]
del name[2] #删除索引2 “Bob”
print(name)
temp_name = name.pop(2) #删除索引2 “Alice”
print(temp_name)
print(name)
name.remove("Li Hua")#删除指定值 “Li Hua”
print(name)
输出结果:
['Jack', 'Li Ming', 'Alice', 'Li Hua', 'Li Hua']
Alice
['Jack', 'Li Ming', 'Li Hua', 'Li Hua']
['Jack', 'Li Ming', 'Li Hua']
>>>
组织列表
- sort()按字母顺序永久排序;sort(reverse=True)按字母相反顺序永久排序
- sorted()按特定顺序显示列表,但不改变原有序列顺序
- reverse()反转列表元素顺序
# sort 方法
name = ["Jack", "Zip", "Alice"]
name.sort()
print(name)
name = ["Jack", "Zip", "Alice"]
name.sort(reverse = True)
print(name)
# sorted 函数
name = ["Jack", "Zip", "Alice"]
print(sorted(name))
print(sorted(name, reverse = True))
# reversev 方法
name = ["Jack", "Zip", "Alice"]
name.reverse()
print(name)
输出结果:
['Alice', 'Jack', 'Zip']
['Zip', 'Jack', 'Alice']
['Alice', 'Jack', 'Zip']
['Zip', 'Jack', 'Alice']
['Alice', 'Zip', 'Jack']
>>>
使用列表
index()方法查找元素在列表中的索引
name = ["Alice", "Bob", "Jack", "Bob"]
print(name.index("Bob"))
输出结果:
1
>>>
列表应用于循环
for i in ["Alice", "Bob", "Jack"]:
print(i)
输出结果:
Alice
Bob
Jack
>>>
in 与 not in 操作符,确定一个值是否在列表中
name = ["Alice", "Bob", "Jack"]
print("Alice" in name)
print("Zip" in name)
输出结果:
True
False
>>>
变量多重赋值
name = ["Alice", "Bob", "Jack"]
P1, P2, P3 = name
print("P1 = " + P1)
print("P2 = " + P2)
print("P3 = " + P3)
输出结果:
P1 = Alice
P2 = Bob
P3 = Jack
>>>
enumerate函数:返回列表索引及元素
name = ["Alice", "Bob", "Jack"]
for i, item in enumerate(name):
print("Index "+ str(i) + " in list is " + item )
输出结果:
Index 0 in list is Alice
Index 1 in list is Bob
Index 2 in list is Jack
>>>
random.choice函数:返回一个随机列表元素
random.shuffle函数:随机重排列表
import random
name = ["Alic","Bob", "Jack"]
print(random.choice(name))
print(random.choice(name))
print(random.shuffle(name))
print(name)
输出结果:
Bob
Alic
None
['Jack', 'Alic', 'Bob']>>>