Python之列表

Python中的列表和歌曲列表类似,也是由一系列按特定顺序排列的元素组成。

一.列表的创建和删除

①使用赋值运算符直接创建列表

(1)语法格式

listname = [element 1,element 2,element 3,...,element n]

listname:列表的名称;

element:列表的元素。

(2)举例

num = [7, 14, 21, 28, 35, 42, 49]
python = ["优雅", "明确", "简单"]

②创建空列表

emptylist = []

③创建数值列表

在Python中,可以使用list()函数直接将range()函数循环出来的结果转换为列表

(1)语法格式

list(data)

data:表示可以转换为列表的数据,其类型可以是range对象、字符串、元组或者其他类型的数据

(2)举例

# -- coding: utf-8 --
print(list(range(10, 20, 2)))

④删除列表

对于已经创建的列表,当不再使用时,可以使用del语句删除它

(1)语法格式

del listname

(2)举例

num = [7, 14, 21, 28, 35, 42, 49]
del num

二.访问列表元素

在Python中如果想输入列表内容,可以直接使用print()函数。

(1)语法格式

print(untitle)

(2)举例

# -- coding: utf-8 --
​
num = [7, 14, 21, 28, 35, 42, 49]
print(num)

三.遍历列表

①直接使用for循环实现

(1)语法格式

for item in listname:
    # 输出item
    

(2)举例

# -- coding: utf-8 --
print(" " * 2, "秋词")
verse = ["自古逢秋悲寂寥", "我言秋日胜春朝", "晴空一鹤排云上", "便引诗情到碧霄"]
for item in verse:
    print(item)
   

②使用for循环和enumberate()函数实现

(1)语法格式

for index,item in enmuerate(listname):
    # 输出index和item
​

index:用于保存元素的索引

item:用于保存获取到的元素值

(2)举例

# -- coding: utf-8 --
# -- coding: utf-8 --
print(" " * 3, "秋词")
verse = ["自古逢秋悲寂寥", "我言秋日胜春朝", "晴空一鹤排云上", "便引诗情到碧霄"]
for index, item in enumerate(verse):
    print(index, item)

四.添加、修改和删除列表元素

①添加元素

使用列表对象的append()方法来实现,该方法用于在列表的末尾追加元素。

(1)语法格式

listname.append(obj)

(2)举例

# -- coding: utf-8 --
print(" " * 3, "秋词")
verse = ["自古逢秋悲寂寥", "我言秋日胜春朝", "晴空一鹤排云上", "便引诗情到碧霄"]
verse.append("此诗句为刘禹锡所作")
print(verse)

②修改元素

只需要通过索引获取该元素,然后重新赋值即可

# -- coding: utf-8 --
verse = ["长亭外", "古道边", "芳草碧连天"]
print(verse)
verse[2] = "一行白鹭上青天"
print(verse)

③删除元素

(1)根据索引进行删除

# -- coding: utf-8 --
verse = ["长亭外", "古道边", "芳草碧连天"]
del verse[-1]
print(verse)

(2)根据元素值进行删除

如果要删除一个不确定其位置的元素(即根据元素值进行删除),则需要使用列表对象的remove()来实现这一操作。

# -- coding: utf-8 --
verse = ["长亭外", "古道边", "芳草碧连天"]
verse.remove("古道边")
print(verse)
 

如果指定的元素不存在,则抛出ValueError异常

# -- coding: utf-8 --
verse = ["长亭外", "古道边", "芳草碧连天"]
verse.remove("黄谋人")
print(verse)

五.对列表进行统计计算

①获取指定元素出现的次数

使用count()方法可以获取指定元素在列表中出现的次数

(1)语法形式

listname.count(obj)

(2)举例

# -- coding: utf-8 --
# -- coding: utf-8 --
verse = ["长亭外", "古道边", "小远", "芳草碧连天", "小远"]
num = verse.count("小远")
print(num)

②获取指定元素出现的索引位置

使用index()方法可以获取指定元素首次出现的索引位置

(1)语法形式

listname.index(obj)

(2)举例

# -- coding: utf-8 --
# -- coding: utf-8 --
verse = ["长亭外", "古道边", "小远", "芳草碧连天", "小远"]
position = verse.index("小远")
print(position)

③统计数值列表的元素和

sum()函数用于统计数值列表中各元素的和

(1)语法形式

sum(iterable[,start])

iterable:表示要统计的列表

start:表示统计结果从哪个数开始的。如果没有指定其值,则默认为0.

(2)举例

# -- coding: utf-8 --
grade = [98, 99, 96, 97, 94, 89]
total = sum(grade)
print("数学总成绩为", total)

六.对列表进行排序

①使用列表对象的sort()方法实现对列表进行排序

列表对象提供了sort()方法,用于对原列表进行排序。

(1)语法形式

listname.sort(key = None, reverse = False)

listname:表示要进行排序的列表名称

key:表示指定一个从每个列表元素中提取一个比较键。

reverse:可选参数,如果为True,则为降序排序;如果为False,则为升序排列。

默认为升序排列

(2)举例

# -- coding: utf-8 --
grade = [98, 99, 96, 97, 94, 89]
print("原列表:", grade)
grade.sort()
print("升 序:", grade)
grade.sort(reverse=True)
print("降 序:", grade)
​
char = ['cat', 'Tom', 'Angela', 'pet']
char.sort()
print("区分字母大小写:", char)
char.sort(key=str.lower)
print("不区分字母大小写:", char)

②使用内置的sorted()函数实现对列表进行排序

Python中提供了一个内置的sort()函数,使用该函数进行排序,原列表中的元素顺序不变

(1)语法形式

sorted(iterable,key=None,reverse=False)

iterable:表示要进行排序的列表的名称

key:表示指定从每个元素中提取一个用于比较的键(例如:key=str.lower表示排序时候不区分大小写)

reverse:可选参数,如果为True,则为降序排序;如果为False,则为升序排列。

默认为升序排列

(2)举例

# -- coding: utf-8 --
grade = [98, 99, 96, 97, 94, 89]
print("原序列:", grade)
grade_as = sorted(grade)
print("升 序:", grade_as)
grade_des = sorted(grade,reverse=True)
print("降 序:", grade_des)
​
​

七.列表推导式

①生成指定范围的数值列表

(1)语法形式

list = [Expression for var in range]

list:表示列表的名称

Expression:表达式,用于计算新列表的元素

var:循环变量

range:采用range()函数生成range对象。

(2)举例

# -- coding: utf-8 --
import random
​
random_number = [random.randint(10, 100) for i in range(10)]
print("生成的10-100的随机数为:", random_number)

②根据列表生成指定需求的列表

(1)语法形式

newlist = [Expresion for var in list]

(2)举例

# -- coding: utf-8 --
price = [1200, 5330, 2988, 6200, 1998, 8888]
sale = [int(x * 0.5) for x in price]
print("原价格:", price)
print("打五折的价格:", sale)

③从列表中选择符合条件的元素组成新的列表

(1)语法格式

newlist = [Expression for var in list if condition]

(2)举例

# -- coding: utf-8 --
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],
    ...,
    [元素n1,元素n2,元素n3,..,元素nn]
]

(2)举例

# -- coding: utf-8 --
students = [
    ['ID001', '无心', 100, 99, 99],
    ['ID002', '明日', 99, 100, 97],
    ['ID003', '冷冷', 98, 99, 98]
​
]
print(students)

②使用嵌套的for循环创建

arr=[]
for i in range(4):
    arr.append([])
    for j in range(5):
        arr[i].append(j)
print(arr)

③使用列表推导式进行创建

 使用列表推导式创建二维列表
rows, cols = 3, 3
matrix = [[0 for _ in range(cols)] for _ in range(rows)]

  • 10
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值