0
点赞
收藏
分享

微信扫一扫

python基础(2)

芭芭蘑菇 2022-01-16 阅读 99

文章目录

list和truple

一、list

1、list的表示方法

  classmates = ['Michael', 'Bob', 'Tracy']
  classmates

2、list的长度

	len(classmates)

3、取list中的值

	classmates[1]
	classmates[-1]

4、向列表中添加值
(1)添加到末尾

    classmates.append('Adam')

(2)添加到指定位置

	list.insert(1,8)#在列表索引为1的位置插入值

5、向列表中删除值
(1)删除末尾值

    list.pop(')

(2)删除指定位置值

	list.pop(3)#删除列表索引为3的位置值

6、修改值(赋值)

	list[1]='lp'

需要注意的是列表中的元素类型可以不一样,可以是字符串、数值、另外一个列表

	p = ['asp', 'php']
    s = ['python', 'java', p, 'scheme']
    p[1]
    s[2][1]

二、truple

另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改

1、truple的意义

不可变的tuple有什么意义?因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。

2、truple的表示方法

list=(1,2,3,4)#元组
list=[1,2,3,4]#列表

	t = (1, 2)#多个字符
	t=()#空元组
	t=(1,)#只有一个字符时,因为(1)和1容易混淆,所以要使用这种方法来表示

3、可变的truple

 t = ('a', 'b', ['A', 'B'])
 t[2][0] = 'X'
 t[2][1] = 'Y'
 t
#显示结果:('a', 'b', ['X', 'Y'])

在这里插入图片描述可变truple的不变指的是指向不变,可变的是元组中的列表

理解了“指向不变”后,要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。

程序语言的三种基本结构

一、顺序

二、条件

	age=input('请输入你的年龄:')
	if int(age)>=18:  #input()返回的数据类型是str,str不能直接和整数比较,必须先把str转换成整数。Python提供了int()函数来完成这件事情
	    print('your age is',age)
	    print('成年人')
	else:
	    print('your age is',age)
	    print('未成年人')

1、elif是else if的缩写,完全可以有多个elif,所以if语句的完整形式就是:
2、if判断条件还可以简写,比如写:

if x:
    print('True')

只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False。

练习题

在这里插入图片描述

	bmi = weight/height
	if bmi>32:
	    print('严重肥胖')
	elif bmi<=32  and bmi>28:
	    print('肥胖')
	elif bmi<=28  and bimi>25:
	    print('过重')
	elif bmi<=25  and bimi>18.5:
	    print('正常')
	elif bmi<=18.5:
	     print('过轻')

三、循环

for

依次把list或tuple中的每个元素迭代出来。循环就是把每个元素代入变量x,然后执行缩进块的语句。

		sum = 0
		list=list(range(101)) #提供一个range()函数,可以生成一个整数序列,再通过list()函数可以转换为list
		for x in list:
 			 sum = sum + x
		print(sum)

while

只要条件满足,就不断循环,条件不满足时退出循环

break:跳出循环
continue:跳过该次循环

循环是让计算机做重复任务的有效的方法。

break语句可以在循环过程中直接退出循环,而continue语句可以提前结束本轮循环,并直接开始下一轮循环。这两个语句通常都必须配合if语句使用。

要特别注意,不要滥用break和continue语句。break和continue会造成代码执行逻辑分叉过多,容易出错。大多数循环并不需要用到break和continue语句,上面的两个例子,都可以通过改写循环条件或者修改循环逻辑,去掉break和continue语句。

有些时候,如果代码写得有问题,会让程序陷入“死循环”,也就是永远循环下去。这时可以用Ctrl+C退出程序,或者强制结束Python进程。

dict和set

一、dict

key-value存储方式

d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}

1、查找

d['Michael']

2、增加

d['lp']=100

3、修改

d['Michael']=99

4、删除

d.pop('Bob')

5、如果key不存在,dict就会报错,有两种方式判断key的存在
(1) ‘Thomas’ in d
(2)通过dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value:
注意:返回None的时候Python的交互环境不显示结果。

请务必注意,dict内部存放的顺序和key放入的顺序是没有关系的。

6、dict和list区别
dict:快、占内存大
list:慢、占内存小、随着元素增多越来越慢

需要牢记的第一条就是dict的key必须是不可变对象。

这是因为dict根据key来计算value的存储位置,如果每次计算相同的key得出的结果不同,那dict内部就完全混乱了。这个通过key计算位置的算法称为哈希算法(Hash)。

要保证hash的正确性,作为key的对象就不能变。在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key:

二、set

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
1、建立set

	b=set([1,2,3])

注意,传入的参数[1, 2, 3]是一个list,而显示的{1, 2, 3}只是告诉你这个set内部有1,2,3这3个元素,显示的顺序也不表示set是有序的。。

(1)重复元素在set中自动被过滤:
2、增加元素

	s.add('1')

3、删除

	s.remove(1)

4、改
键不可以改!
5、交集和并集
set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:

	a=set([1,2,3,4])
	b=set([3,4,5,6])
	a&b
	a|b









[1,2,3]# 列表
{1,2,3}# set
(1,2,3)# 元组
{'lp':123,'bob':11}#字典
举报

相关推荐

0 条评论