详细解读python里的列表
一、列表的创建与删除
1、使用赋值运算符直接创建列表
listname = [element1, element2, element3, … , element n]
2、创建空列表
emptylist = []
3、创建数值列表
list(data)
Age: list(range(10, 20 ,2))
4、删除列表
del listname
二、访问列表元素
1、直接用print()
Age:
untitle = ["Python", 28, "人生苦短,我用python"]
print(untitle)
print(untitle(2))
age:
import datetime
mot = ["今天星期一:\n坚持下去不是因为我很坚强,而是因为我别无选择。",
"今天星期二:\n含泪播种的人一定能笑着收获。",
"今天星期三:\n做对的事情比把事情做对重要。",
"今天星期四:\n命运给予我们的不是失望之酒,而是机会之杯。",
"今天星期五:\n不要等到明天,明天太遥远,今天就行动。",
"今天星期六:\n求知若饥,虚心若愚。",
"今天星期日:\n成功将属于那些从不说“不可能”的人"]
day=datetime.datetime.now().weekday()
print(mot[day])
2、、遍历列表
1)、直接使用for循环实现
for item in listname:
print(item)
2)、使用for循环和enumerate()函数实现
for index,item in enumerate(listname):
#输出index和item
参数说明:
index:用于保存元素的索引。
item:用于保存获取到的元素值,要输出元素内容时,直接输出该变量即可。
listname:列表名称。
age:
print("2017~2018赛季NBA西部联盟前八名\n")
team = ["火箭", "勇士", "开拓者", "雷霆", "爵士", "马刺", "深林狼"]
for index,item in enumerate(team):
if index%2 == 0:
print(item +"\t\t", end='')
else:
print(item + "\n")
三、添加、修改和删除列表元素
1、添加元素
向列表里添加一个元素:
listname.append(obj)
向列表里添加另一个列表:
listname.extend(seq)
2、修改元素
实例展示:
verse = ["长亭外", "古道边", "芳草碧连天"]
print(verse)
verse[2] = "一行白鹭上青天"
print(verse)
3、删除元素
实例展示:
根据索引删除:
verse = ["长亭外", "古道边", "芳草碧连天"]
print(verse)
del verse[-1]
print(verse)
根据元素值删除:
team = ["火箭", "勇士", "开拓者", "爵士", "马刺", "雷霆", "深林狼"]
value = "公牛"
if team.count(value)>0:
team.remove(value)
print(team)
四、对列表进行统计和计算
1、获取指定元素出现的次数
listname.count(obj)
2、获得指定元素首次出现的下标
listname.index(obj)
3、统计数值列表的元素和
sum(iterable[,start])
iterable:表示要统计的列表
start:表示计算结果从哪个数开始,是可选参数,如果没有指定,默认值为0。
五、对列表进行排序
1、使用列表对象的sort()方法
listname.sort(key=None, reverse=False)
listname: 表示要进行排序的列表
key:用于指定排序规则
reverse:可选参数,True表示降序,False表示升序
2、使用内置的sorted()函数实现
sorted(iterable, key=None, reverse=False)
iterable:表示要进行排序的列表名称
其他参数同上
六、列表推导式
1、生成指定范围的数值列表
list = [Expression for var in range]
list: 表示生成的列表名称。
Expression:表达式,用于计算新列表的元素。
var:循环变量。
range:采用range()函数生成的range对象。
age:
import random
randomnumber = [random.randint(10,100) for i in range(10)]
print("生成的随机数为:", randomnumber)
2、根据列表生成指定需求的列表
newlist = [Expression for var in list]
age:
price = [1200, 5330, 2988, 6200, 1998, 8888]
sale = [int(x*0.5) for x in price]
print("原价格:",price)
print("打五折的价格:",sale)
3、从列表中选择符合条件的元素组成新的列表
newlist = [Expression for var in list if condition]
condition:条件表达式,用于指定筛选条件。
age:
price = [1200, 5330, 2988, 6200, 1998, 8888]
sale = [x for x in price if x>5000]
print("原价格:",price)
print("高于5000的价格:",sale)
七、二维列表的使用
1、直接定义二维列表
listname=[[11, 12, 13, ... 1n],
[21, 22, 23, ... 2n],
[31, 32, 33, ... 3n],
.
.
.
[n1, n2, n3, ... nn]]
2、使用嵌套的for循环创建
age:
arr = []
for i in range(4):
arr.append([])
for j in range(5):
arr[i].append(j)
print(arr)
3、使用列表推导式创建
arr =[[j for j in range(5)] for i in range(4)]
print(arr)
访问方法:
listname[下标1][下标2]
八、使用二维列表输出不同版式的古诗
str1 = "千山鸟飞绝"
str2 = "万径人踪灭"
str3 = "孤舟蓑笠翁"
str4 = "独钓寒江雪"
verse = [list(str1), list(str2), list(str3), list(str4)]
print("\n--横板--\n")
for i in range(4):
for j in range(5):
if j == 4:
print(verse[i][j])
else:
print(verse[i][j], end="")
verse.reverse()
print("\n-- 竖版 --\n")
for i in range(5):
for j in range(4):
if j == 3:
print(verse[j][i])
else:
print(verse[j][i], end="")