day6-markdown总结

python基础语法:

1.复习

1.变量名的声明:

1.变量名 = 值;
2.变量名:标识符,不能使用关键字;
3.变量名的写法;
4.声明变量/给变量赋值的原理。

2.运算符:

1.+,-,*,/,//
2.<,>,==,!=,%=...
3.运算符的优先级:可以通过加括号改变运算顺序

3.字符串:

  • 字符编码(Unicode),char(),ord()的用法
  • 获取单个或者部分字符:字符串[index],字符串[下标1:下标2:步进]
  • 运算:+,*,>,<,=,(比较运算都支持),in,not,len()
  • 相关方法

4.分之:

1.if 条件语句:
执行语句
2.if-else
if 条件语句:
执行语句1
else:
执行语句2
3.if-elif-else
elif 条件语句:

5.循环结构

1.for循环

for 变量名 in 序列:
    循环体
执行过程

2.while循环

while 条件语句:
    循环体
执行过程
  

3.break,continue,else

break和continue写在循环体中的
else写在循环外,循环遇到break,else中的语句不会执行

二,列表:

  • list(列表)
    1.列表是python中的容器类型;
    2.有序的可变的容器(可变指的是列表中元素和元素的位置可变);
    3.元素:指的是列表中每一个内容
    4.有序->可以通过下标来获取元素;
    5.可变->可以进行增删改(查)

1.列表的声明:

a.声明变量,赋列表值;
例如:声明了一个列表,列表中有5个元素,分别是90,80,97,67,55
score = [90, 80, 97, 67, 55]
print(score,type(score))

2.元素:指的是列表中的每一个内容,列表中的元素可以是任意类型的数据

person = ['吕', 18, '男']
一个列表中的元素可以不一样
print(person)
name = '王海飞'
age = 20
person2 = [name, age, '男']
print(person2)
name = []
print(name,type(name))
将其他数据类型转换成列表(只有序列才能转换:字符串和range,字典,元祖,集合,生成式,迭代器)

chars = list('abcd')
print(chars)
numbers = list(range(10))
print(numbers)

3.列表的增删改查

1,获取列表元素

a.获取单个元素:列表[下标]
b.下标范围:0元素个数-1或者-1元素个数
注意:获取单个字符下标不可以越界
步进值是正的就从前往后取,步进是负的就是从后往前取

tv_names = ['请回答1988', ’琅琊榜‘, ’甄嬛传‘]
print(tv_names[1])
print(tv_names[-1])
c.获取部分元素(切片):列表[下标1:下标2:步进]

tv_names = ['请回到1988', '琅琊榜', '甄嬛传']
print(tv_names[1])
print(tv_names[-1:-4:-1])
print(tv_names[:8:1])   

d.遍历(一个一个的获取每个元素)
可以将列表直接放在for循环in的后面,循环过程中,for后面的变量取得是列表中的元素

for item in tv_names:
    print(item)
print(tv_names[2])

练习:写一个列表来保存一个班的学生的成绩(6个),统计班上成绩在80分以上的成绩

count=0
scores=[65, 88, 72, 76, 96, 99]
for score in scores:
    if score>80:
    count+=1
print(count)

2.改(修改元素的值)

语法:列表名[下标]=新值 通过下标来获取元素,然后重新赋值.

person = ['小吕', 18, '乒乓球']
person[1] = 23  //修改person中下标是1的元素
print(person)
person[2] = '篮球'
print(person)

3.增(增加列表元素)

a.列表.append() 列表的最后去添加一个元素

person.append('男')
print(person)
person.append(80)
print(person)

b.列表.insert(下标,元素) 功能:在指定的下标前插入一个元素。
列表中的元素发生改变是,列表的每一个元素下标会根据新的位置重新分配

person.insert(0,'001')
print(person)
print(person[1])

练习:录入5个学生的成绩,并且保存在一个列表中

scores = []
for x in range(5):
    score = int(input("请输入学生成绩:"))
    scores.insert(0,score)
print(scores)

4.删除(删除列表中的元素)

1.del 列表[下标]-->根据下标去删除列表的元素
del 语句是python中删除数据的语法,他可以删除任何数据

del 变量 (删除变量)  del 列表 (删除整个列表)
foods = ['辣条', '棒棒糖', '大蒜', '火锅', '饼干']
del foods[2]
print(foods)

2.列表.remove 元素 删除列表中某个值,如果这个元素在列表中有多个,只删除最前面那个
foods.remove('饼干')

  1. 列表.pop(下标)-->将列表中指定的值取出来
foods = ['辣条', '棒棒糖', '大蒜', '火锅', '饼干']
food = foods.pop(1)
print(foods)

练习:想尽一切办法将一个保存成绩的列表中,成绩低于60分的全部删除

[78, 59, 40, 90, 89, 45, 69, 30]
scores = [78, 59, 40, 90, 89, 45, 69, 30]
for score in scores[:]:
    if score<60
    scores.remove(score)
print(scores)
**注意:以后我们遍历列表元素的时候,我们一般遍历她的拷贝值**

5.操作:

1.列表1+列表2:

a = [1,2]
list = [1,2]+['abc',100]
print(list)
**注意:将1中元素和列表2中的元素一次合并,产生一个新的列表**

2.*操作:
列表1 * N次,产生一个新的列表

list2 = a * 3
print(list2)

3.求列表的长度

len(list)
print(len(list))

4.列表.extend(序列):将序列中的元素添加到列表中

numbers = [1, 2, 3, 4]
numbers.extend([100,200])
ptint(numbers)
numbers.extend('abc')
print(numbers)

5.将列表中的元素反序

numbers = [1, 2, 3, 4, 5, 6]
numbers.reverse()
print(numbers)

6.将列表中的元素反序

numbers = [1, 2, 3, 4, 5]
numbers.reverse()
print(numbers)
numbers = [2,5,6,9,3,7]
for _ in range(len(numbers)):
    x = numbers.pop()
    print(x,end ='')

7.列表.sort :对列表元素进行排序(默认是升序)
numbers.sort()
print(numbers)

8.列表.copy():将列表中的元素全部拷贝,产生一个新的列表。相当于[:]

注意:这儿是浅切片(只考虑每个列表的值)
​```python
numbers = [1, 2, 3, 4]
numbers2 = numbers.copy()
print(numbers2)

numbers1 = [1, 2]
numbers = [numbers1, 3, 'abc']

deeocopy//深度切片:通过地址找值,再把值赋给新的地址,再把新的变量给地址存储

new_numbers2 = copy.deepcopy(numbers)
numbers1.append(100)
print(numbers)
print(new_numbers2)

总结:

  • 浅拷贝:只是单纯的将值拷贝(如果是对象就直接拷贝对象的地址)
  • 深拷贝:会拷贝对象得知对应的值,产生一个新地址,然后新的地址进行赋值

6.元祖

元祖就是不可变的列表.列表中除了和可变相关的内容以外,其他的全部适用于元祖
1.声明元祖:

tuple = (1, 2, 3, 10, [1, 2])
print(tuple,type(tuple))
注意:如果要写一个元祖元素个数是1的字面量,需要在那一个元素后面加逗号
t2 = (100,)
print(t2,type(t2),len(t2))
t3 = ()  #空元祖
print(t3, type(t3))

2.查相关的

t3 = ('red','yellow','green')
print(t3[2])
print(t3[0:3])

for item in t3:
    print(item)

3.特殊操作

point = (100,200)
print(point[0],point[1])
通过两个变量来获取元祖的唯一的两个元素的值
x, y = point
print(x, y)

user = ('小吕', 90, 98, 100, '男')
通过在变量前加,获取元祖/列表中的一部分元素值,结果是一个列表*

name, *score, sex = user
print(name, score, sex)

user2 = ('肖红', 90, 85)
name, *score = user2
print(name,score)

*score, name, sex = (89,98,'小兰', 'boy')
print(score, name, sex)

4.多个值之间用逗号隔开,对应的数据也是元祖

a=1, 2, 3, 4    //相当于 a = (1, 2, 3, 4)
x, y = 100, 200     //相当于x,y = (100, 200)
print(x,y)
print(a, type(a))

你可能感兴趣的:(day6-markdown总结)