条件判断

x=input("输入一个整数")
x=int(x)
if x%2==0:print("偶数")
elif x%2!=0:print("奇数")
else:print("wrong")

条件表达式

a=int(input("输入整数"))
b=int(input("输入整数"))
print((a,'大于等于',b) if a>=b else (a,"小于",b))

pass 占位符 无实际意义

range函数

r=range(10)
print(list(r))
print(r)
r2=range(2,10)
print(list(r2))
r3=range(2,10,2)
print(list(r3))
结果
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range(0, 10)
[2, 3, 4, 5, 6, 7, 8, 9]
[2, 4, 6, 8]

不管range对象存储的序列有多长,占用的内存空间都是相等的,只有在用到range对象时才会计算序列中的相关元素

while循环(Python中每行代码前空格的长短会影响结果!!!)

a=1
sum=0
while a<=100:if a%2==0:sum=sum+aa=a+1
print(sum)

for-in循环 (只能遍历迭代对象 如字符串或range对象)

for item in '人生苦短,我用python':print(item)r=range(20)
for item in r:print(item)for _ in r:print('人生苦短,我用python')

练习 for-in写出100-999之间的水仙花数


for item in range(100,1000):a=item%10temp=item//10c=temp%10b=item//100if a**3+b**3+c**3==item:print(item)

for-else语句

for item in range(3):numb=int(input("请输入密码"))if numb==9999:print("密码正确")breakelse:print("错误")
else:print("三次机会已用完")

while-else语句

输出99乘法表

for i in range(1,10):for j in range(1,i+1):temp=i*jprint(str(i)+'*'+str(j)+'='+str(temp),end='\t') //end='\t'不换行输出print('\n')

列表(数组) :元素可以重复,有两组下标(见下图),混存不同的数据类型元素,动态分配和回收内存

两种创建方式

ls2=['sls',658]
ls1=list(['hello',65,45.2])
print(ls1)

查找指定元素下标 index

lst=['hello','word',98,'hello']
numb=lst.index('hello')
numb2=lst.index('hello',1,4)
print(numb,numb2)
结果:
0 3

列表切片,切片的结果是愿列表部分的拷贝

lst1=[10,20,30,40,50,60]
lst2=lst1[1:4:1]
print(lst2,id(lst1),id(lst2))

切片步长为负数

lst1=[10,20,30,40,50,60]
lst2=lst1[5:0:-1]
print(lst2)

for-in遍历列表

lst1=[10,20,30,40,50,60]
for item in lst1:print(item)

列表添加

append末尾添加一个元素 extend末尾添加至少一个元素 比较:

list1=[20,30,40]
list1.append(50)
print(list1)
list2=['ear','breath']
list1.append(list2)
print(list1)[20, 30, 40, 50]
[20, 30, 40, 50, ['ear', 'breath']]list1.extend(list2)
print(list1)[20, 30, 40, 50, 'ear', 'breath']

insert任意位置添加

list1=[20,30,40]
key=list1[2]
print(key)
list1.insert(1,90)
print(list1)40
[20, 90, 30, 40]

切片添加

list1=[20,30,40,50,60]
list2=[70,80,90]
list1[1:]=list2
print(list1)[20, 70, 80, 90]list1=[20,30,40,50,60]
list2=[70,80,90]
list1=list2
print(list1)[70, 80, 90]

remove 移除一个指定元素 pop按下标删除 切片删除[]  clear清空数组 del销毁数组

list1=[20,30,40,50,60]
list1.remove(30)
print(list1)list1=[20,30,40,50,60]
list1.pop(1)
print(list1)list1=[20,30,40,50,60]
list1[1:3]=[]
print(list1)[20, 50, 60]list1=[20,30,40,50,60]
list1.clear()
print(list1)[]del list1

按下标修改,单个or批量

切片修改
list1=[20,30,40,50,60]
list1[1:3]=[70,80,90][20, 70, 80, 90, 50, 60]单个修改
list1[0]=100

列表排序,sort将原列表排序,内置函数sorted则会产生新的列表

lst=[10,30,20,50,60,25]
lst.sort()
print(lst)[10, 20, 25, 30, 50, 60]lst=[10,30,20,50,60,25]
new_lst=sorted(lst)
print(new_lst,lst)[10, 20, 25, 30, 50, 60] [10, 30, 20, 50, 60, 25]逆序:
lst=[10,30,20,50,60,25]
new_lst=sorted(lst,reverse=True)
print(new_lst,lst)[60, 50, 30, 25, 20, 10] [10, 30, 20, 50, 60, 25]lst=[10,30,20,50,60,25]
lst.sort(reverse=True)
print(lst)[60, 50, 30, 25, 20, 10]

列表生成式

lst=[i for i in range(1,10)]
print(lst)[1, 2, 3, 4, 5, 6, 7, 8, 9]lst=[i*i for i in range(1,10)]
print(lst)[1, 4, 9, 16, 25, 36, 49, 64, 81]

字典(类似HashMap)

三种创建方式

dict1={80:40,'two':50}
print(dict1)dict2=dict(two=60)
print(dict2)d={}
print(d){80: 40, 'two': 50}
{'two': 60}
{}

取值

dict1={80:40,'two':50,'three':60}
print(dict1)
print(dict1['two'])
print(dict1.get('three'))

字典的增删改查,判断key值是否存在于字典中

dict1={80:40,'two':50,'three':60}
print('three' in dict1)
del dict1[80]
print(dict1)
dict1['four']=70
print(dict1)
dict1['four']=80
print(dict1)
dict1.clear()
print(dict1){'two': 50, 'three': 60}
true
{'two': 50, 'three': 60, 'four': 70}
{'two': 50, 'three': 60, 'four': 80}
{}

查询字典中的所有key,value

dict1={80:40,'two':50,'three':60}
keys=dict1.keys()
values=dict1.values()
items=dict1.items()
print(keys,values,items)dict_keys([80, 'two', 'three']) dict_values([40, 50, 60]) dict_items([(80, 40), ('two', 50), ('three', 60)])

遍历

dict1={80:40,'two':50,'three':60}
for item in dict1:print(item,dict1[item],dict1.get(item))80 40 40
two 50 50
three 60 60

字典中的key不允许重复,value可以重复,字典中的元素是无序存储的,字典的key必须是不可变对象,字典可以根据需要动态伸缩,字典会浪费较大内存,是一种用空间换时间的数据结构

字典生成式

keys=['one','two','three']
values=[10,20,30]
dict1={keys.upper():values  for keys,values in zip(keys,values)}
print(dict1){'ONE': 10, 'TWO': 20, 'THREE': 30}

元祖

创建元祖的几种方式(元祖中只有一个元素时后面要加,)

t1=('one','two',10)
print(t1)t2='one','two',10
print(t2)t3=tuple(("one",'two',10))
print(t3)t4=('one',)
print(t4)t5=()
t6=tuple()
print(t5,t6)('one', 'two', 10)
('one', 'two', 10)
('one', 'two', 10)
('one',)
() ()

元组,字符串都是不可变序列!

获取元组元素

t1=('one','two',10)
print(t1[1])
for item in t1:print(item)two
one
two
10

集合,两种创建方式,set方法可以把别的容器,例如列表,元组,字符串之类的转换成集合

集合内的元素无序且不允许重复,类似于只存储key的字典,用hash函数计算存储位置

s1={'one','two',3,4}
s2=set([10,20,30])
s3=set(range(6))
s5=set()
print(s1,s2,s3,s5){'two', 'one', 3, 4} {10, 20, 30} {0, 1, 2, 3, 4, 5} set()

Python (2)相关推荐

  1. Github配置(git+vscode+python+jupyter)

    ①下载git 打开 git bash 工具的用户名和密码存储 $ git config --global user.name "Your Name" $ git config -- ...

  2. 【实验楼】python简明教程

    ①终端输入python进入 欣赏完自己的杰作后,按 Ctrl + D 输入一个 EOF 字符来退出解释器,你也可以键入 exit() 来退出解释器. ②vim键盘快捷功能分布 ③这里需要注意如果程序中 ...

  3. 【Kaggle Learn】Python 5-8

    五. Booleans and Conditionals Using booleans for branching logic x = True print(x) print(type(x))''' ...

  4. 【Kaggle Learn】Python 1-4

    [Kaggle Learn]Python https://www.kaggle.com/learn/python 一. Hello, Python A quick introduction to Py ...

  5. 使用python愉快地做高数线代题目~

    今天接触到了python,发现真是极易上手啊!对比c语言是什么鬼东西= = 诶,等下,看完教学文章发现TA在下面写了这句话 如果做了前面的内容你可能已被吸引了,觉得c语言真的是废材! 不...不是的. ...

  6. python 位运算与等号_Python 运算符

    和大多数语言一样,Python也有很多运算符,并且运算符跟其他语言的运算符大同小异接下来一一介绍: 算术运算符: 运算符描述实例 +加 - 两个对象相加a+b的输出结果是30 -减 - 得到复数或者一 ...

  7. python减小内存占用_如何将Python内存占用缩小20倍?

    当程序执行过程中RAM中有大量对象处于活动状态时,可能会出现内存问题,特别是在对可用内存总量有限制的情况下. 下面概述了一些减小对象大小的方法,这些方法可以显著减少纯Python程序所需的RAM数量. ...

  8. python中排序英文单词怎么写_Python实现对文件进行单词划分并去重排序操作示例...

    本文实例讲述了Python实现对文件进行单词划分并去重排序操作.,具体如下: 文件名:test1.txt 文件内容: But soft what light through yonder window ...

  9. python程序如何执行死刑图片_如何判断对象已死

    已死的对象就是不可能被任何途径使用的对象,有以下几种方法判断一个对象是否已经死了: 引用计数 给对象添加一个引用计数器,每当有一个地方引用他,计算器就加 1:当引用失效时,计数器减 1:任何时刻计数器 ...

  10. Python gRPC 安装

    1. 安装依赖库 sudo pip3 install grpcio sudo pip3 install protobuf sudo pip3 install grpcio_tools 2. 生成对应文 ...

最新文章

  1. android项目模块导入eclipse编译报错,android中studio导入eclipse项目报错怎么办
  2. 前端常见知识点二之浏览器
  3. ×××服务器是指什么?我怎样控制自己的电脑端口的开启和关闭?
  4. cannot open file mfc42u.lib的问题解决
  5. 将NetBeans代码模板弯曲到我的意愿
  6. html中函数传递多个值,JavaScript 实战开发经验!函数多参数传参技巧
  7. Python04,变量与赋值
  8. (4)二进制文件方式部署Kubernetes高可用集群----------安装kubectl命令行工具
  9. loadrunner 测试 html5,Loadrunner压力测试工具使用教程
  10. Nginx日志管理——了解Nginx日志选项配置以及自定义日志格式使用
  11. 错误: 实例 ruiy 执行所请求操作失败,实例处于错误状态。: 请稍后再试 [错误: #39;ascii#39; codec can#39;t decode byte 0xe6 in po...
  12. 你就不怕此生就这样?
  13. Windows cmd窗口的切换目录命令无法切换盘符
  14. STM32F103C8T6+ST7735TFT LCD彩屏驱动程序
  15. [vue]vue接入AntV G2Plot
  16. android控制台字体大小设置,Android studio 4.1 豆沙护眼色配置、字体大小设置、内存大小设置...
  17. 极路由+花生壳内网版配置
  18. Reactor模式简单实现与理解
  19. MATLAB数据保存
  20. Chrome太占内存怎么办?试试这个

热门文章

  1. TigerGraph评论:专为深度分析而设计的图形数据库
  2. IT项目管理小组分工情况
  3. NR SSB概述 - PSS/SSS序列及PBCH
  4. UniAPP Android 蓝牙 ESCPOS打印机 打印图片和二维码
  5. Simulink 学习(一)
  6. FreeTextBox使用方法
  7. 基于matlab小波变换的突变检测识别
  8. 深度学习技巧应用4-模型融合:投票法、加权平均法、集成模型法
  9. oracle恢复误删字段,Oracle恢复被误删除存储过程的2种方法
  10. ValueError: empty range for randrange() (0, 0, 0)