当前位置: 首页 > article >正文

详细解读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="")


http://www.kler.cn/a/161300.html

相关文章:

  • Java爬虫技术:按关键字搜索VIP商品详情
  • NIO(New IO)和BIO(Blocking IO)的区别
  • harmony数据保存-数据持久化
  • ssh 完全命令行 登录服务器 , 无需交互的方法
  • MySQL 锁概述
  • 《AI智能体》——魔搭工作流模式
  • 排序:直接选择排序
  • Elasticsearch:评估 RAG - 指标之旅
  • WebGL笔记:矩阵缩放的数学原理和实现
  • 【Flink on k8s】- 0 - Flink kubernetes operator 快速入门与实战
  • 【SQL开发实战技巧】系列(四十八):Oracle12C常用新特性☞多分区操作和管理
  • dtaidistance笔记:dtw_ndim (高维时间序列之间的DTW)
  • 嵌入式工程师校招经验与学习路线总结
  • 使用群晖Docker搭建HomeAssistant并实现异地公网访问家中智能设备
  • ES6与ES5的区别?
  • 排序:快速排序(hoare版本)
  • 分布式搜索引擎03
  • Docker 镜像构建的最佳做法
  • Rust国内sparse镜像源配置
  • 第十五届蓝桥杯模拟赛B组(第二期)C++
  • CAN总线协议编程实例
  • 前缀和例题:子矩阵的和AcWing796-Java版
  • Spark - 输出parqute文件
  • 漫谈Uniapp App热更新包-Jenkins CI/CD打包工具链的搭建
  • 【刷题日志】牛客 HJ73 计算日期到天数转换
  • Canvas鼠标画线