打卡day02 python基础—列表
列表的特点: 列表中的每个元素都是可变的;意味着我们可以在列表中添加、删除和修改元素; 列表中可的元素是有序的,也就是说每一个元素都有一个位置; 列表可以容纳python中的任何对象
# 通过输入位置而查询该位置所对应的值
Weekday = ['Monday','Tuesday','Wednesday','Thursday','Friday']
print(Weekday[0])
打印结果:
Monday
# 第三个特征是列表可以装入Python中所有的对象
all_in_list = [1,1.0,'a word',print(1),True,[1,2],(1,2),{'key':'value'}]
print(type(all_in_list))
打印结果:
<class 'list'>
# type()函数用于返回指定参数的类型
number = [1,3,2,6,7,'8a','A']
print(type(number))list即列表的意思
a = range(5)
print(list(a))for each in (number):print(each)
打印结果:
<class 'list'>
[0, 1, 2, 3, 4]1
3
2
6
7
8a
A
# 列表的增删改查
fruit = ['pinespple','pear']
fruit.insert(1,'grape')
print(fruit)"""
在使用insert方法的时候,必须指定在列表中要插入新的元素位置,插入元素的实际位置是在指定位置之前的位置,
如果指定列表中不存在,实际上也就是超出指定列表长度,那么这个元素一定会被放在列表的最后位置
"""# 另一种插入方法:
fruit[0:0] = ['Orange']
print(fruit)# insert()方法有两个参数:第一个参数指定待插入的位置(索引 值),第二个参数是待插入的元素值
# list2=[1,3,5,2,9]
# list2.insert(0,0)
# list2.insert(3,7)# insert()方法中代表位置的第一个参数还支持负数,表示与列表末尾 的相对距离
list2.insert(-1,8.5)
list2.insert(-2,5.5)
print('更新后的列表',list2)
打印结果:
['pinespple', 'grape', 'pear']
['Orange', 'pinespple', 'grape', 'pear'][0, 1, 3, 7, 5, 2, 9]
更新后的列表 [1, 3, 5, 2, 5.5, 8.5, 9]
# 创建一个空列表
empty=[]
"""append()方法只支持一个参数"""
empty.append(1)
print('更新后的列表',empty)
print(type(empty))
打印结果:
更新后的列表 [1]
<class 'list'>
# append向列表末尾添加元素
list = ['a','b','c']
list.append('d')
print('更新后的列表',list)
打印结果:
更新后的列表 ['a', 'b', 'c', 'd']
# extend()方法向列表末尾添 加多个元素,extend()事实上是使用一个列表来扩充另一个列表,所以它的参数 是另一个列表。
list1 = [1,3,6,8]
list1.extend(['O',9])
print('更新后的列表',list1)
打印结果:
更新后的列表 [1, 3, 6, 8, 'O', 9]
# 1.删除列表中元素的方法是使用remove():
fruit = ['pineapple','pear','grape']
fruit.remove('grape')
print(fruit)#2. remove()方法需要指定一个待删除的元素:
eggs = ['鸡蛋','鸭蛋',['铁蛋','咸蛋','加拿大鹅蛋']]
# eggs.remove('鸭蛋')
eggs.remove('卤蛋')
print(eggs)
"""使用remove()删除元素,并不需要知道这个元素在列表中的具体位置。但是如果指定的元素不存在于列表中,程序就会报错"""# 3.pop()方法是将列表中的指定元素“弹”出来,也就是取出并删除该元 素的意思,它的参数是一个索引值:
# eggs = ['鸡蛋','鸭蛋',['铁蛋','咸蛋','加拿大鹅蛋']]
# eggs.pop(2)
# print(eggs)# 4.如果不带参数,pop()方法默认是弹出列表中的最后一个元素:
eggs.pop()
print(eggs)# 5.最后一个是del语句,注意,它是一个Python语句,而不是del列表 的方法,或者BIF,
# del eggs
# print(eggs)
"""上面代码由于eggs整个变量被del语句删除了,所以再次引用时,Python由于找不到该变量,便会报错"""
打印结果:
['pineapple', 'pear']
Traceback (most recent call last):
File "C:/Users/issuser/PycharmProjects/untitled/test001/列表_元组_.py", line 117, in <module>
eggs.remove('卤蛋')
ValueError: list.remove(x): x not in list['鸡蛋', '鸭蛋']
['鸡蛋']
Traceback (most recent call last):
File "C:/Users/issuser/PycharmProjects/untitled/test001/列表_元组_.py", line 133, in <module>
print(eggs)
NameError: name 'eggs' is not defined
# 从列表中获取元素
eggs=['鸡蛋','鸭蛋','鹅蛋','铁蛋']
print(eggs[3])
打印结果:
铁蛋
# 列表的索引与字符串的分片十分相似,同样是分正反两种索引方式,只要输入对应的位置就会返回给你这个位置上的值
periodic_table = ['H','He','Li','Be','B','C','N','O','F','Ne']
print(periodic_table[0])
print(periodic_table[-2])
print(periodic_table[0:3])
print(periodic_table[-10:-7])
print(periodic_table[-10:])
print(periodic_table[:9])print(periodic_table['H'])
"""列表只接受位置进行索引,但如果数据量很大的话,肯定会记不住什么元素在什么位置"""
打印结果:
H
F
['H', 'He', 'Li']
['H', 'He', 'Li']
['H', 'He', 'Li', 'Be', 'B', 'C', 'N', 'O', 'F', 'Ne']
['H', 'He', 'Li', 'Be', 'B', 'C', 'N', 'O', 'F']Traceback (most recent call last):
File "C:/Users/issuser/PycharmProjects/untitled/test001/列表_元组_.py", line 85, in <module>
print(periodic_table['H'])
TypeError: list indices must be integers or slices, not str
# 如果想要访问列表中最后一个元素,怎么办?可以使用len()函数获 取该列表的长度(元素个数),再减1就是这个列表最后一个元素的索 引值
eggs=['鸡蛋','鸭蛋','鹅蛋','铁蛋']
print(len(eggs)-1)
"""即当索引值为负 数时,表示从列表的末尾反向索引"""
print(eggs[-1])
"""要将“鸭蛋”和“铁蛋”的位置进行调换"""
temp = eggs[1]
eggs[1]=eggs[3]
eggs[3]=temp
print(eggs)
打印结果:
3
铁蛋
['鸡蛋', '铁蛋', '鹅蛋', '鸭蛋']
# 开发一个具有“抽奖”功能的程序,只需要先将“奖 项/参与者”放到列表里面,然后配合random模块即可实现
import random
prizes = ['鸡蛋','鸭蛋','铁蛋','咸蛋']
print(random .choice(prizes))
"""random的choice()方法可以从一个非空的序列(如列表)中随机获 取一个元素"""
打印结果:
鸭蛋
# 列表中还可以包含另一个列表,如果要获取内部子列表的某个元 素,应该使用两次索引
eggs = ['鸡蛋','鸭蛋',['铁蛋','咸蛋','加拿大鹅蛋']]
print(eggs[2][2])
打印结果:
加拿大鹅蛋
# 列表切片(列表切片并不会修改列表自身的组成结构和数据,它其实是为列表 创建一个新的拷贝(副本)并返回)
List1 = ['钢铁侠','蜘蛛侠','蝙蝠侠','绿灯侠','神奇女侠','骑行侠']
List2 = [List1[2],List1[3],List1[4]]
print(List2)
打印结果:
['蝙蝠侠', '绿灯侠', '神奇女侠']
#1. 要求取出列表中最后3个元素
List3 = ['钢铁侠','蜘蛛侠','蝙蝠侠','绿灯侠','神奇女侠','骑行侠']
List4 = []
for i in range(-3,0):List4.append(List3[i])
print(List4)#2. 只不过是用一个冒号隔开两个索引值,左边是开始位置,右边是结束位置。这里要注意的一点是:结束位置上的元素是不包 含的(如上面例子中,“神奇女侠”的索引值是4,如果写成list1[2:4],便 不能将其包含进来)
List4 = List3[2:5]
List4 = List3[:2]
List5 = List3[2:]
print(List4,List5)# 3.如果啥都没有,只有一个冒号,Python将返回整个列表的拷贝
List6 = List3[:]
print(List6)#4. 如想获取列表最后的几个元素
List7 = list (range(100))
print(List7[-10:])
打印结果:
['绿灯侠', '神奇女侠', '骑行侠']
['钢铁侠', '蜘蛛侠'] ['蝙蝠侠', '绿灯侠', '神奇女侠', '骑行侠']
['钢铁侠', '蜘蛛侠', '蝙蝠侠', '绿灯侠', '神奇女侠', '骑行侠']
[90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
# 1.列表切片操作实际上还可以接受第三个参数,其代表的是步长,默 认值为1。下面将步长修改为2,看看有什么神奇的效果?
list = [1,3,2,7,8,9,0,10,11]
print(list[0:7:2])
print(list[::2])
print(list[::-2])# 2.将步长设置为-1,相当于将整个列表翻转过来
print(list[::-1])# 3.del直接作用于原始列表了,因为不这样做的话,代码就失 去意义了
del list[::-2]
print(list)
打印结果:
[1, 2, 8, 0]
[1, 2, 8, 0, 11]
[11, 0, 8, 2, 1][11, 10, 0, 9, 8, 7, 2, 3, 1]
[3, 7, 9, 10]
# 1.当列表包 含多个元素的时候,默认是从第一个元素开始比较,只要有一个PK赢 了,就算整个列表赢了
list4 = [123,456]
list5 = [234,123]
print(list4>list5)list2=['apple']
list3=['pineapple']
print(list2<list3)# 加号(+)也叫连接操作符,它允许把多个列表对象合并在一起, 其实就相当于extend()方法实现的效果
list6 = list4 + list5
print(list6)list6 = list4 * 3
print(list6)# 连接操作符并不 能实现列表添加新元素的操作:
list6 = list4 + 234
打印结果:
False
True
[123, 456, 234, 123]
[123, 456, 123, 456, 123, 456]
Traceback (most recent call last):
File "C:/Users/issuser/PycharmProjects/untitled/test001/列表_元组_.py", line 197, in <module>
list6 = list4 + 234
TypeError: can only concatenate list (not "int") to list
# 1.我们是在谈for循环的时 候认识它的,成员关系操作符就是in和not in:
list = ['小猫','小狗','小鸡','小鸭','小甲鱼']
print('小狗' in list)
print('小甲鱼'not in list)#2. 可见in和not in只能判断一个层次的成员关系,这跟break和continue语句只能跳出一个层次的循环是一个道理。
list1 = ['小猫','小狗',['小鸡','小鸭','小甲鱼']]
print('小鸡' in list1)
print('小鸡' not in list1)
打印结果:
True
FalseFalse
True
# 要去除列表中重复的数据,只要利用好in和not in,就可以巧妙地实现,代码先迭代遍历old_list的每一个元素,如果该元素不存在于 new_list中,便调用列表的append()方法添加进去。
old_list = ['西班牙','葡萄牙','葡萄牙','牙买加','匈牙利']
new_list = []
for each in old_list:if each not in new_list:new_list.append(each)
print(new_list)
打印结果:
['西班牙', '葡萄牙', '牙买加', '匈牙利']
# 列表方法
print(dir(list))
# count方法:作用是统计某个元素在列表中出现的次数
list1 = [1,1,2,4,4,5]
print(list1.count(1))
# index()方法的作用是返回某个元素在列表中第一次出现的索引值:
print(list1.index(1))
打印结果:
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
2
0
# 从列表中获取元素,定义多个变量
my_list = [1,2,3,4,5]
one,two,three,four,five = my_list
print(type(my_list))
print(my_list)
打印结果:
<class 'list'>
[1, 2, 3, 4, 5]
打卡day02 python基础—列表相关推荐
- Python基础 列表的详解(纯干货)
Python基础 列表 目录 Python基础 列表 列表的用处 列表的创建 列表的特点 列表的操作 列表元素的查询操作- **获取列表中的元素的索引** 列表元素的增加操作 列表元素的删除 列表元素 ...
- peal php,python基础--列表
列表 列表是最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 1.定义列表fruits = ['apple','banana','orange'] 2.通过下标访问列表中的元素,下 ...
- python基础-列表排序sort和sorted
[Python基础]列表排序sort和sorted 文章目录 [Python基础]列表排序sort和sorted 1. sort 2. sorted 3. 如何使用sort获得排序后的列表的副本呢? ...
- day02 Python:列表
day02 Python:列表 一.列表 列表是Python提供的容器型数据类型:将[]作为容器的标志,里面多个元素用逗号隔开 列表是可变的:元素的个数和值是可变的 列表是有序的:支持索引操作 元素: ...
- 重温Python基础——列表
哈喽,兄弟们,今天让我们一起来重温一下Python基础中的列表,看看你还记得多少呢? 列表是什么 列表有一系列特定顺序排列的元素组成.可以包含字母表中的所有字母,数字等.其中的元素之间可以没有任何联系 ...
- [Python基础]列表List
列表List 0.概述 1.创建列表 2.向列表添加元素 append(val) extend(val) insert(index,val) 3.从列表中获取元素 4.从列表删除元素 remove(v ...
- python基础--列表、元组、字典和集合
列表.元组.字典和集合 在 Python 编程中,我们既需要独立的变量来保存一份数据,也需要序列来保存大量数据. 列表(list)和元组(tuple)比较相似,它们都按顺序保存元素,所有的元素占用一块 ...
- day02 python基础之列表,元祖,字典
今日内容: 1. 常用数据类型及内置方法 2.文件处理 3.函数 列表:定义:在[]内,可以存放多个任意类型的值,并以逗号隔开. 一般用于存放学生的爱好,课堂的周期等等. students=[' ...
- 19道Python基础列表元祖的练习题
1.创建一个空列表,命名为names,往里面添加old_driver,rain,jack,shanshan,peiqi,black_girl元素 names = ["old_driver&q ...
最新文章
- Aizu - 0033 Ball
- java 常见几种发送http请求案例
- 阿里巴巴陈武:通过亿级用户App的实践验证,锤炼高质量APM体系
- 设置图片垂直居中line-height和vertical-align的区别
- 1058. 选择题(20)
- asp.net链接mysql数据库------------【个人收集】
- 信息学奥赛C++语言:幸运奶牛
- Html IECheckBox双击问题
- PHP程序无法设置cookie
- Ubuntu常用终端命令
- eclipse查看源码
- 怎么用PHP实现检测网站文章是否被收录
- 3D游戏从入门到精通-2 -5
- curl证书过期_centos7内核升级及curl访问https证书过期处理
- HBase MOB特性介绍
- 阅读软件怎么添加书源_FANUC仿真软件怎么添加多个机器人到系统中
- uni 页面加载完毕_uniapp小程序如何等待数据回来才加载页面?
- 浮点数之间的等值判断
- Unloaded branch node detected. “loadOptions“ prop is required to load its children.
- python中的分支结构——if语句