Python修炼记 Python语法入门

转载自品略图书馆 http://www.pinlue.com/article/2020/04/0210/4710100831702.html

一、列表

1、作用

列表,是用于按位置存放多个值的数据类型。

即专门用来记录多个同种属性的值(比如同一个班级多个学生的姓名、同一个人的多个爱好等),并且存取都十分方便。

2、定义

# 定义:在[]内,用逗号分隔开多个任意数据类型的值l1 = [1,"a",[1,2]] # 本质:l1 = list([1,"a",[1,2]])

3、类型转换

—但凡能够被for循环遍历的类型都可以当做参数传给list()转成列表

res=list("hello")print(res)res=list({"k1":111,"k2":222,"k3":3333})print(res)

4、使用

4.1 取值与嵌套

# 1、列表类型是用索引来对应值,索引代表的是数据的位置,从0开始计数>>> stu_names=["张三","李四","王五"]>>> stu_names[0] "张三">>> stu_names[1]"李四">>> stu_names[2]"王五"# 2、列表可以嵌套,嵌套取值如下>>> students_info=[["tony",18,["jack",]],["jason",18,["play","sleep"]]]>>> students_info[0][2][0] #取出第一个学生的第一个爱好"play"

 

4.2 内置方法

优先掌握的操作:

1、按索引存取值(正向存取+反向存取):即可以取也可以改l=[111,"egon","hello"]正向取print(l[0])反向取print(l[-1])可以取也可以改:索引存在则修改对应的值l[0]=222print(l)

无论是取值操作还是赋值操作:索引不存在则报错

l[3]=333

 

# 2、切片(顾头不顾尾,步长)l = [111, "egon", "hello", "a", "b", "c", "d", [1, 2, 3]]print(l[0:3])print(l[0:5:2]) # 0 2 4print(l[0:len(l)])print(l[:])new_l=l[:] # 切片等同于拷贝行为,而且相当于浅copyprint(id(l))print(id(new_l))# l[-1][0]=1111111print(l)print(new_l)# print(l[::-1])# msg1="hello:egon:<>:18[]==123"msg2=msg1[:]print(msg1,id(msg1))print(msg2,id(msg2))

 

3、长度print(len([1, 2, 3]))

4、成员运算in和not inprint("aaa" in ["aaa", 1, 2])print(1 in ["aaa", 1, 2])

5、往列表中添加值5.1 追加l=[111,"egon","hello"]l.append(3333)l.append(4444)print(l)5.2、插入值l=[111,"egon","hello"]l.insert(0,"alex")print(l)5.3、extend添加值new_l=[1,2,3]l=[111,"egon","hello"]l.append(new_l)print(l)代码实现for item in new_l: l.append(item)print(l)extend实现了上述代码l.extend(new_l)l.extend("abc")print(l)

 

6、删除方式一:通用的删除方法,只是单纯的删除、没有返回值l = [111, "egon", "hello"]del l[1]x =del l[1] # 抛出异常,不支持赋值语法print(l)方式二:l.pop()根据索引删除,会返回删除的值l = [111, "egon", "hello"]l.pop() # 不指定索引默认删除最后一个l.pop()print(l)res=l.pop(1)print(l)print(res)方式三:l.remove()根据元素删除,返回Nonel = [111, "egon", [1,2,3],"hello"]l.remove([1,2,3])print(l)res=l.remove("egon")print(res) # None

 

7、循环l=[1,"aaa","bbb"]for x in l: l.pop(1) print(x)

需要掌握操作

l = [1, "aaa", "bbb","aaa","aaa"]1、l.count()print(l.count("aaa"))# 2、l.index()print(l.index("aaa"))print(l.index("aaaaaaaaa")) # 找不到报错# 3、l.clear()l.clear()print(l)# 4、l.reverse():不是排序,就是将列表倒过来l = [1, "egon","alex","lxx"]l.reverse()print(l)# 5、l.sort(): 列表内元素必须是同种类型才可以排序l=[11,-3,9,2,3.1]l.sort() # 默认从小到大排,称之为升序l.sort(reverse=True) # 从大到小排,设置为降序print(l)# l=[11,"a",12]l.sort()# l=["c","e","a"]l.sort()print(l)

 

了解:字符串可以比大小,按照对应的位置的字符依次pk字符串的大小是按照ASCI码表的先后顺序加以区别,表中排在后面的字符大于前面的print("a">"b")print("abz">"abcdefg")#了解:列表也可以比大小,原理同字符串一样,但是对应位置的元素必须是同种类型l1=[1,"abc","zaa"]l2=[1,"abc","zb"]print(l1 < l2)

 

补充——队列-堆栈

补充1、队列:FIFO,先进先出l=[]# 入队操作l.append("first")l.append("second")l.append("third")print(l)# 出队操作print(l.pop(0))print(l.pop(0))print(l.pop(0))2、堆栈:LIFO,后进先出l=[]# 入栈操作l.append("first")l.append("second")l.append("third")print(l)# 出队操作print(l.pop())print(l.pop())print(l.pop())

 

4.3 深浅copy---未完待续

二、元祖

1、作用

元组就是"一个不可变的列表"

按照索引/位置存放多个值,只用于读,不用于改

2、定义

定义:()内用逗号分隔开多个任意类型的元素t=(1,1.3,"aa") # t=tuple((1,1.3,"aa"))print(t,type(t))

x=(10) # 单独一个括号代表包含的意思print(x,type(x))t=(10,) # 如果元组中只有一个元素,必须加逗号print(t,type(t))t=(1,1.3,"aa") # t=(0->值1的内存地址,1->值1.3的内存地址,2->值"aaa"的内存地址,)t[0]=11111t=(1,[11,22]) # t=(0->值1的内存地址,1->值[1,2]的内存地址,)print(id(t[0]),id(t[1]))# t[0]=111111111 # 不能改# t[1]=222222222 # 不能改t[1][0]=11111111111111111# print(t)print(id(t[0]),id(t[1]))

 

3、数据转换

print(tuple("hello"))print(tuple([1,2,3]))print(tuple({"a1":111,"a2":333}))

4、内置方法

1、按索引取值(正向取+反向取):只能取t=("aa","bbb","cc")print(t[0])print(t[-1])

2、切片(顾头不顾尾,步长)t=("aa","bbb","cc","dd","eee")print(t[0:3])print(t[::-1])

3、长度t=("aa","bbb","cc","dd","eee")print(len(t))4、成员运算in和not inprint("aa" in t)5、循环for x in t: print(x)6、t=(2,3,111,111,111,111)print(t.index(111))print(t.index(1111111111))print(t.count(111))

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值