博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python随笔3
阅读量:6906 次
发布时间:2019-06-27

本文共 4089 字,大约阅读时间需要 13 分钟。

列表

列表是Python中内置的6个序列类型之一,也是非常常见的一个序列类型

列表的定义:

list_name[元素1,元素2,元素3...]

索引:

列表中的元素也叫做项,每一个元素(项)都有自己的索引,从左到右是从0开始依次增大,从右到左是从-1开始依次减小

例子:从键盘输入年、月、日,然后从控制台输出年月日的字符串

months = ["January", "February", "March", "April",        "May", "June", "July", "August",        "September", "October", "November", "December"]days = ["st", "nd", "rd"]+17*["th"]\    + ["st", "nd", "rd"]+7*["th"]\    + ["st"]input_year = input("please input year:")input_month = input("please input month(1-12):")input_day = input("please input day(1-31):")month_number = int(input_month)day_number = int(input_day)print_day = days[day_number-1]print_month = months[month_number - 1]print(print_month+" "+input_day+print_day+"."+input_year)

结果为:

please input year:2018please input month(1-12):11please input day(1-31):4November 4th.2018

分片:

通过索引可以查询列表中指定位置的元素,通过分片可以查看列表中指定索引范围的元素

list[index1:index2],左闭右开,index1<index2

例:

有列表list=[1,2,3,4,5]

  • 输出所有元素
list1=[1,2,3,4,5]print("輸出所有元素")print(list1[:])print("輸出所有元素")print(list1[0:])print("輸出所有元素")print(list1[:5])print("輸出所有元素")print(list1[-5:])

 

结果

輸出所有元素[1, 2, 3, 4, 5]輸出所有元素[1, 2, 3, 4, 5]輸出所有元素[1, 2, 3, 4, 5]輸出所有元素[1, 2, 3, 4, 5]
  • 指定输出哪个范围的元素
list1=[1,2,3,4,5]print("输出前三位")print(list1[:3])print("输出第1位到第3位")print(list1[1:4])

结果

输出前三位[1, 2, 3]输出第1位到第3位[2, 3, 4]

步长:

  • 间隔2个步长输出list1中的元素
print("步长为2")print(list1[::2])print("步长为2")print(list1[0:5:2])print("步长为2")print(list1[::-2])

结果

步长为2[1, 3, 5]步长为2[1, 3, 5]步长为2[5, 3, 1]

步长为负数时,必须使索引开始大于索引结束,否则输出的为空;步长为负数且没有指定开始点和结束点,则从序列尾部开始获取元素

 

列表相加、相乘(列表和字符串不能相加)

print([1,2,3]+["a","b","c"])print(["Java","PHP"]*3)

结果

[1, 2, 3, 'a', 'b', 'c']['Java', 'PHP', 'Java', 'PHP', 'Java', 'PHP']

判断元素是否在列表中(in)

students=[["Tom",29],          ["Jerry",22],          ["Bon",18]]name_input=input("please input name:")age_input=int(input("please input age:"))if[name_input,age_input] in students:    print(True)else:    print(False)

结果:

please input name:Tomplease input age:29True

列表的长度、最大最小值

len()、max()、min()

max()、min()作用的列表中不能同时有int型和str型数据

 

列表的维护:

  • 通过list()函数将字符串转换为列表,字符串中的字符成为列表中的元素
a="Alice2Bob"list1=list(a)print(list1[:])

结果

['A', 'l', 'i', 'c', 'e', '2', 'B', 'o', 'b']
  • 更改指定位置的元素
list1=[1,2,3,"A",7]list1[3]=5print(list1[:])

结果

[1, 2, 3, 5, 7]
  • 增加列表中的元素
list1=[1,2,3,"A",7]print("append():append object to end 末尾添加元素")list1.append(0)print(list1[:])print("extend():extend list by appending elements from the iterable 末尾添加列表当作元素")list1.extend(["w","c"])print(list1[:])print("insert():insert object before index 在指定索引之前的一位添加元素")list1.insert(3,4)print(list1[:])

结果:

append():append object to end 末尾添加元素[1, 2, 3, 'A', 7, 0]extend():extend list by appending elements from the iterable 末尾添加列表当作元素[1, 2, 3, 'A', 7, 0, 'w', 'c']insert():insert object before index 在指定索引之前的一位添加元素[1, 2, 3, 4, 'A', 7, 0, 'w', 'c']
  • 删除列表中的元素
list1=[1,2,3,"A",7,2,5,"a"]print("remobe():remove first occurrence of value 删除第一次出现的指定的元素")list1.remove(2)print(list1)print("del:del 列表名[索引位置] 删除指定位置的元素")del list1[2]print(list1)print("pop():remove and return item at index (default last) 删除指定索引对应的元素并返回改元素(默认最后一个)")print(list1.pop())print(list1)

结果

remobe():remove first occurrence of value 删除第一次出现的指定的元素[1, 3, 'A', 7, 2, 5, 'a']del:del 列表名[索引位置] 删除指定位置的元素[1, 3, 7, 2, 5, 'a']pop():remove and return item at index (default last) 删除指定索引对应的元素并返回改元素(默认最后一个)a[1, 3, 7, 2, 5]
  • 分片赋值的增删替换
listr=["a","b","c"]listr[2:3]=["v"]print(listr)listr[1:1]=["d"]print(listr)listr[2:3]=[]print(listr)

结果

['a', 'b', 'v']['a', 'd', 'b', 'v']['a', 'd', 'v']
  • 查找元素在列表中的位置
listr=[1,2,3,4,5,3,6,3]print("index():return first index of value")print(listr.index(3))

结果

index():return first index of value2
  • 查询元素在列表中出现的次数
listr=[1,2,3,4,5,3,6,3]print("count():return number of occurrences of value ")print(listr.count(3))

结果

index():return first index of value3
  • 将列表中的元素反向存放,没有返回值(不改变列表的物理地址)
listr=[1,2,3,4,5,3,6,3]print("count():return number of occurrences of value 将列表中的元素反向存放但是不改变列表的物理地址")b=listrlistr.reverse()print(listr)print(b)

结果

count():return number of occurrences of value 将列表中的元素反向存放但是不改变列表的物理地址[3, 6, 3, 5, 4, 3, 2, 1][3, 6, 3, 5, 4, 3, 2, 1]

 

转载于:https://www.cnblogs.com/bigbigtong/p/9905811.html

你可能感兴趣的文章
查看Android应用签名信息
查看>>
MVC、MVP、MVVM、Angular.js、Knockout.js、Backbone.js、React.js、Ember.js、Avalon.js、Vue.js 概念摘录...
查看>>
WCF学习之旅—WCF服务的批量寄宿(十三)
查看>>
解决“不是有效的win32应用程序”问题
查看>>
分布拟合——正态/拉普拉斯/对数高斯/瑞利 分布
查看>>
WebStorm for Mac(Web 前端开发工具)破解版安装
查看>>
从0开始--倒序输出。
查看>>
吉特仓库管理系统-.NET打印问题总结
查看>>
sqlplus 返回2 由于命令后没有加分号
查看>>
poj 2155 Matrix
查看>>
shell中(),[]和[[]]的区别
查看>>
Centos7.x下Nginx安装及SSL配置与常用命令
查看>>
98. Validate Binary Search Tree
查看>>
【Android】Retrofit 2.0 的使用
查看>>
Java程序员幽默爆笑锦集
查看>>
【勘误】第三章基本变量
查看>>
用友iuap入选2016世界互联网领先科技成果50强
查看>>
fastclick 源码注解及一些基础知识点
查看>>
CentOS Rsync服务端与Windows cwRsync客户端实现数据同步
查看>>
TAR包CLONE方式 安装11GR2 RAC数据库 (gril软件root.sh)
查看>>