python入门基础(一)列表
1、简介
python是一种面向对象的解释型计算机程序设计语言。
2、变量
2.1、变量赋值
a=1 #将1的值赋给变量a
b=2
a=3 #将3的值赋给变量a
print(a) #输出a的值为3
代码都是从上到下一次执行的,可以看到,第一步是给变量a赋值,第三部再次给变量a赋值,此时a=3,输出a时,显示a=3;
2.2、变量的命名
a、变量名只能包含字母、数字、下划线。可以以字母或下划线打头,但不能以数字打头。例如变量可以命名为student_1,但不可以命名为1_student;
b、变量名不能包含空格,但可以使用下划线来分隔其中的单词;
c、不要将python的关键字和函数名用作变量名;
d、变量名应该既短又具有描述性
e、慎用小写字母l和大写字母o,因为可能被错认为1和0;
3、简单数据类型
3.1、数字
a、整数
a=12
b、浮点数
b=2.2
3.2、字符串
age=18 #定义了一个整型
message='happy'+age+'rd birthday' #定义了一串字符串
print(message) #理想状态下是输出 happy 23rd birthday ,但是执行后报错了
需要注意的是,上述是一个类型错误,整型和字符串混合在一起,这时需要调用函数str(),将非字符串的整型23转换为字符串
age=18
message='happy'+str(age)+'birthday' #类型转换后,就不会再报错了
3.3、列表
列表是由一系列按特定顺序排列的元素组成。
a、增加元素
name = ['朝朝','小明','王芳','郭霞']
name.append('白云') #方法append是在元素末尾增加元素
#如果想在列表的指定位置增加元素,用.insert方法
name.insert(0,'郭振') #0,代表在下标为0的位置,添加元素'郭振'
b、删除元素
#用del语句删除元素
name = ['朝朝','小明','王芳','郭霞']
del name[3] #删除name列表里下标为3的元素,也就是删除元素'郭霞'
#根据元素值来删除元素 如果不知道元素的位置,只知道要删除的元素的值
name.remove('王芳') #删除元素值为王芳的元素 如果列表里有多个#相同的元素只会删除第一个
#使用方法.pop删除元素
name.pop() #方法pop是删除列表末尾的元素,并且能够接着使用这个元素#pop的方法又叫弹出,可以理解为,列表就像一个栈,而删除末尾元素相当于#弹出栈顶元素;
#用pop方法删除指定位置的元素
name.pop(2) #弹出下标为2的元素
#注意:del和pop的区别是,del删除元素,并且不再以任何方式使用它;如果想要
#在删除元素后还想要继续使用它,就用pop方法
c、修改元素
name = ['朝朝','小明','王芳','郭霞']
name[0]='朝阳' #修改可以理解为重新赋值,将'朝朝'改为'朝阳'
d、查找元素
name = ['朝朝','小明','王芳','郭霞']
print(name[0]) #根据下标查找元素
print(name.count('小明')) #查找某个元素在列表中的出现次数 可以应用在#注册界面,看看用户是否已经注册
print(name.index('王芳')) #查找元素的下标name.reverse #reverse是反转列表,但是reverse是没有返回值的,
print(name) #需要再输出一下才能看到结果
name.clear #清空列表name.sort
print(name) 对列表进行永久性排序,升序排列,同样没有返回值
name.sort(reverse=ture) #如果reverse=ture,,则是降序排列
print(name)len(name) #查找列表的长度name = ['朝朝','小明','王芳','郭霞']
name2 = ['王敬','张毅','章程','小南']
name.extend(name) #把列表name的值添加到name2列表里,
print(name2) #name2 = ['王敬','张毅','章程','小南','朝朝','小明','王芳','郭霞']name3=name+name2 #将name和name2的值合并到一个name3的列表里
学完列表,做一个小练习题,校验用户是否注册
name=[‘zhenxw’,’gan’,’nn’] 假设这是数据库中的用户名列表
for i in range(5):username=input('用户名:')if username=name.count>0: #方法count判断用户是否在数据库列表中print('用户名已注册')else :print('用户未注册')name.append(username)for i in range(5):username=input('用户名:')if username in name: #也可以用 not in 来判断用户是否已经注册print('用户已注册')else :print('用户未注册')name.append(username)
e、多维数组
list可以分为一维数组,也可以有二维,多维数组
nums1=[1,2,3] #一维数组
nums2=[1,2,3,[4,56]] #二维数组 #想要取出num2里的56,该怎么办?
print(nums2[-1][-1]) #多维数组取值需要先确定一共有几层数组,下标的
#负数代表从右往左数,-1代表最后一个
nums=[1,2,3,4,['a','b','c','d','e',['一','二','三']],['四','五'] #这是一个三维数组
print(nums[4][5][1]) #值为二
f、遍历循环列表
passwords=['123456','123123','7891234','password']
for i in passwords:print(i) #python仅用2行代码实现了循环列表;#如果想要给数组中的每个值加上'abc'头缀
index=0
for i in passwords:password[index]='abc'+iindex+=1print(i)
#更简单的一种方法
passwords=['123456','123123','7891234','password']
for index,p in enumerate(passwords):print(index,p) #使用枚举函数,自动计算出下标和元素显示出来passwords[index]='abc'+p
print(passwords)
想一道题:
l=[1,1,1,2,3,4,5] #筛选出这个列表里的偶数
# 0,1,2,3,4,5,6 这个代表下标for i in l:if i%2!=0:l.remove(i)#运行一下这个代码,[1, 2, 4],会发现有奇数混在里面
#原因在于,在循环的时候,把下标0的值删除后,列表内的下标就有了变化,
#下标为1的值此时为下标为0,下次循环会接着从下标1的值开始循环,因此,会漏掉
#一部分的值,所以不能在循环的时候删除列表
#有几种解决方案:
1、重新定义一个和l的值一样的变量
l2=[1,1,1,2,3,4,5] #这个时候在内存里l和l2指定不同的内存
2、浅拷贝
l=[1,1,1,2,3,4,5]
l2=l #这是浅拷贝,查询一下l和l2的id,发现指向一个地址,所以改变一个,另一个也改变
print(id(l))
print(id(l2)) #显示结果一样
3、深拷贝
import copy
l2=copy.deepcopy(l) #深拷贝,在内存地址里重新划分了一个地方给l2,此时
#l和l2指向不同的地址,操作l而不会对l2产生影响
g、切片
切片就是取列表中的部分元素。
list = ['a','b','c','d','e','j','k','l','m','n','o']
print(list[2:5]) #顾头不顾尾,所以结果是取下标2到4的值#结果是['c', 'd', 'e']
print(list[:5]) #代表从头开始取
print(list[2:]) #代表从下标为2取到最后;
print(list[::3]) #代表步长是3,每隔三个取一个#['a', 'd', 'k', 'n'] #如果取1到100之间的所有奇数或者偶数,该怎么写呢?
num=list(range(1,101))
print(list[::2]) #取奇数
print(list[1::2]) #取偶数
print(list[::-1])
#步长是整数,代表从左往右取数,如果是负数,代表从右往左数word='十一放假快乐'
print(word[::-1]) #切片也适用于字符串#写一个验证是否是回文的小程序
#'上海自来水来自海上' 回文就是正着反着都是一句话for i in range(10):message=input('请输入一串字符串:') if len(message)<2: #避免像输入1,也会返回是回文print('字符串必须大于1')elif message==message[::-1]:print('是回文')else:print('不是回文')
python入门基础(一)列表相关推荐
- python 判断列表所有元素是否为某个值_这应该是最详细的Python入门基础语法总结!...
这应该是最详细的Python入门基础语法总结! 这应该是最详细的Python入门基础语法总结! 定义变量,使用变量 input 用户自己输入值 print 打印值 可以输出多个变量 %d|%s 用于输 ...
- python笔记基础-Python入门基础知识学习笔记之一
为什么要写这篇文章? 本人做过Objective-C开发,现在在用C#做WinForm开发.近段时间在学习Python入门基础知识时,发现有很多知识点和Objective-C的不一样.故想通过本文记录 ...
- 【目录】Python 入门基础篇 <(^-^)>
Python 入门基础篇 一.关于Python的介绍与准备工作 Python基础介绍 Jupyter notebook基础介绍 Jupyter notebook打开问题 Jupyter noteboo ...
- python入门基础教程-Python入门基础教程:WSGI
原标题:Python入门基础教程:WSGI WSGI 简介 WSGI 是什么 WSGI 是 Python Web Server Gateway Interface 的缩写,是描述 Web 服务器与 P ...
- B站马士兵python入门基础版详细笔记(6)
前言: 这篇文章是B站学习python入门基础班的视频的第五 六章内容,主要讲述的是列表,主要包括列表的创建,以及他的元素的增.删.查.改操作命令. 一.列表的初始化 为什么要使用列表? 列表就好比C ...
- Python入门基础(下)之魔方方法
Python入门基础(下)之魔方方法 一.学习内容概括 学习地址:https://tianchi.aliyun.com/s/58327c15d1faee512c008128d3bb9e32 今天主要学 ...
- python入门基础代码初学
python入门基础代码初学 一.检查python安装 二.print使用 二.使用python运算 三.enumerate()函数 一.检查python安装 PS C:\Users\admin> ...
- Python入门基础知识学什么?
Python基础知识主要是针对一些零基础的同学安排的,虽说Python是相对比较简单的一门编程语言,但是没有基础的同学还是要进行系统的学习,那么Python入门基础知识学什么呢?来看看下面小编的详细介 ...
- Python入门基础总结笔记——正则表达式
Python入门基础总结笔记--正则表达式 完整基础知识参看网站:正则表达式 总结重点 用\d可以匹配一个数字,\w可以匹配一个字母或数字 用*表示任意个字符(包括0个),用+表示至少一个字符 用?表 ...
- B站马士兵python入门基础版详细笔记(4)
前言: 这篇文章是B站学习python入门基础班的视频的第四章内容,主要讲述的是if-else语句,但是不包括循环结构,循环结构在下一章笔记中有记叙 一.顺序结构 什么是顺序结构呢?比如说 '''把大 ...
最新文章
- 巴西CC成为FreeStor全球首个用户
- TCP/IP详解--学习笔记(11)-TCP交互数据流,成块数据流
- python面向对象(3)
- dj鲜生-32-用户中心-收货地址
- Ajax 自动投注,ajax 服务器文本框自动填值
- 计算机系统-CPU优化/特权级
- 最新emoji表情代码大全_三十而已表情包下载-三十而已表情包大全最新下载
- Echarts 图表放大功能
- 右下角任务栏弹出天猫广告的解决办法,搞了半天原来是搜狗拼音在捣鬼!附搜狗双拼党转投微软拼音怀抱教程
- android 锁屏的生命周期_Activity的生命周期的七个场景
- Verilog 实现占空比为3/5 2/5 1/5 50% 的五分频信号 断言SVA查看波形
- pygame中display模块方法详解
- 如何正确解决win10系统下C盘空间不能扩展的问题!
- CALL入门篇一:CALL的本质
- 【转载】利用ENVI直接建立掩膜去除背景Inf值或NaN值
- 网页播放视频没有进度条怎么可以实现倍速播放
- 2020,程序员本命年,去外包公司要小心的几个点
- [HEOI2012]采花(思维 + 离线 + 树状数组)
- ddos是什么 ddos攻击方式有哪些该怎么防范?
- ATMEGA8A-AU代理
热门文章
- Qcom_Sensor(七)--- 之 DSPS架构分析
- 如何编辑自己的照片?photopad mac​专业的存在
- 游完泳不注意这一点,脸部皮肤可能会越变越差
- Vitis指南 | Xilinx Vitis 系列(六)
- 喜讯:2023第十八届青岛国际水大会水展定档七月,现招商工作正式启动!
- 网吧cf正在连接服务器,win10系统玩cf出现连接服务器失败如何解决
- 西米支付:如何选择自己需求的接口(传奇游戏支付接口)
- item_search_shop-获得店铺所有的商品(shopee虾皮)
- Python基础_第5章_Python中的数据序列
- java多线程买票实例