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入门基础(一)列表相关推荐

  1. python 判断列表所有元素是否为某个值_这应该是最详细的Python入门基础语法总结!...

    这应该是最详细的Python入门基础语法总结! 这应该是最详细的Python入门基础语法总结! 定义变量,使用变量 input 用户自己输入值 print 打印值 可以输出多个变量 %d|%s 用于输 ...

  2. python笔记基础-Python入门基础知识学习笔记之一

    为什么要写这篇文章? 本人做过Objective-C开发,现在在用C#做WinForm开发.近段时间在学习Python入门基础知识时,发现有很多知识点和Objective-C的不一样.故想通过本文记录 ...

  3. 【目录】Python 入门基础篇 <(^-^)>

    Python 入门基础篇 一.关于Python的介绍与准备工作 Python基础介绍 Jupyter notebook基础介绍 Jupyter notebook打开问题 Jupyter noteboo ...

  4. python入门基础教程-Python入门基础教程:WSGI

    原标题:Python入门基础教程:WSGI WSGI 简介 WSGI 是什么 WSGI 是 Python Web Server Gateway Interface 的缩写,是描述 Web 服务器与 P ...

  5. B站马士兵python入门基础版详细笔记(6)

    前言: 这篇文章是B站学习python入门基础班的视频的第五 六章内容,主要讲述的是列表,主要包括列表的创建,以及他的元素的增.删.查.改操作命令. 一.列表的初始化 为什么要使用列表? 列表就好比C ...

  6. Python入门基础(下)之魔方方法

    Python入门基础(下)之魔方方法 一.学习内容概括 学习地址:https://tianchi.aliyun.com/s/58327c15d1faee512c008128d3bb9e32 今天主要学 ...

  7. python入门基础代码初学

    python入门基础代码初学 一.检查python安装 二.print使用 二.使用python运算 三.enumerate()函数 一.检查python安装 PS C:\Users\admin> ...

  8. Python入门基础知识学什么?

    Python基础知识主要是针对一些零基础的同学安排的,虽说Python是相对比较简单的一门编程语言,但是没有基础的同学还是要进行系统的学习,那么Python入门基础知识学什么呢?来看看下面小编的详细介 ...

  9. Python入门基础总结笔记——正则表达式

    Python入门基础总结笔记--正则表达式 完整基础知识参看网站:正则表达式 总结重点 用\d可以匹配一个数字,\w可以匹配一个字母或数字 用*表示任意个字符(包括0个),用+表示至少一个字符 用?表 ...

  10. B站马士兵python入门基础版详细笔记(4)

    前言: 这篇文章是B站学习python入门基础班的视频的第四章内容,主要讲述的是if-else语句,但是不包括循环结构,循环结构在下一章笔记中有记叙 一.顺序结构 什么是顺序结构呢?比如说 '''把大 ...

最新文章

  1. 巴西CC成为FreeStor全球首个用户
  2. TCP/IP详解--学习笔记(11)-TCP交互数据流,成块数据流
  3. python面向对象(3)
  4. dj鲜生-32-用户中心-收货地址
  5. Ajax 自动投注,ajax 服务器文本框自动填值
  6. 计算机系统-CPU优化/特权级
  7. 最新emoji表情代码大全_三十而已表情包下载-三十而已表情包大全最新下载
  8. Echarts 图表放大功能
  9. 右下角任务栏弹出天猫广告的解决办法,搞了半天原来是搜狗拼音在捣鬼!附搜狗双拼党转投微软拼音怀抱教程
  10. android 锁屏的生命周期_Activity的生命周期的七个场景
  11. Verilog 实现占空比为3/5 2/5 1/5 50% 的五分频信号 断言SVA查看波形
  12. pygame中display模块方法详解
  13. 如何正确解决win10系统下C盘空间不能扩展的问题!
  14. CALL入门篇一:CALL的本质
  15. 【转载】利用ENVI直接建立掩膜去除背景Inf值或NaN值
  16. 网页播放视频没有进度条怎么可以实现倍速播放
  17. 2020,程序员本命年,去外包公司要小心的几个点
  18. [HEOI2012]采花(思维 + 离线 + 树状数组)
  19. ddos是什么 ddos攻击方式有哪些该怎么防范?
  20. ATMEGA8A-AU代理

热门文章

  1. Qcom_Sensor(七)--- 之 DSPS架构分析
  2. 如何编辑自己的照片?photopad mac​专业的存在
  3. 游完泳不注意这一点,脸部皮肤可能会越变越差
  4. Vitis指南 | Xilinx Vitis 系列(六)
  5. 喜讯:2023第十八届青岛国际水大会水展定档七月,现招商工作正式启动!
  6. 网吧cf正在连接服务器,win10系统玩cf出现连接服务器失败如何解决
  7. 西米支付:如何选择自己需求的接口(传奇游戏支付接口)
  8. item_search_shop-获得店铺所有的商品(shopee虾皮)
  9. Python基础_第5章_Python中的数据序列
  10. java多线程买票实例