最近公司要求用python写后端,但是人很难找,最后找了个技术不太行的实习生来叫他试试看,他把用户信息封装在token里面然后叫我自己解密用户数据,我就觉得不靠谱了,还理直气壮的说自己以前都是这样干的,所以我决定自己学习转战后端,后面会出一些关于python和后端的技术分享,作为一个刚入门的菜鸟,就边学边写博客记录一下,也希望简友里面的大佬能够多多指导一下。
Python里面的列表和Java中的List大同小异了,但是也还是有些不同的地方,这边文章主要简单记录一下,就不细细带大家去看源码了,这种东西都是基础,会用就够了
定义列表
nameList = ['zzp', 'zy', 'ls']
遍历列表的几种方式
1、直接遍历
nameList = ['zzp', 'zy', 'ls']
for name in nameList:
print(name)
2、带下标遍历
nameList = ['zzp', 'zy', 'ls']
for index in range(len(nameList)):
print(nameList[index])
列表添加数据的几种方式
1、append
此方法用于在list末尾添加数据,关键点在于如果添加的数据是一个序列,它会把整个序列添加到列表的末尾。
先看普通添加:
nameList = ['zzp', 'zy', 'ls']
nameList.append("Tom")
print(nameList)

下面是添加序列的情况:
nameList = ['zzp', 'zy', 'ls']
nameList.append(["Tom","Jeos","Hint"])
print(nameList)

会发现添加一个列表进去它会把整个列表作为一个列表添加进去,而不是将所添加列表的数据逐一添加。
2、extend
使用extend向列表添加数据,如果这个数据是一个序列,它会将序列元素逐一添加到
nameList = ['zzp', 'zy', 'ls']
nameList.extend(["Tom","Jeos","Hint"])
print(nameList)
nameList.extend("Hint")
print(nameList)

值得注意的是String字符串也是序列,所以添加字符串也会被拆开。
3、insert
向指定下表位置插入数据
nameList = ['zzp', 'zy', 'ls']
nameList.insert(1,"Tom")
print(nameList)

如果没有指定下标,则插入在列表的头部
列表删除数据的几种方式
1、del
这个函数的作用就是删除列表
nameList = ['zzp', 'zy', 'ls']
del(nameList)
print(nameList)

可以看到控制台报错信息,列表nameList没有被声明,证明整个列表都被删除了。
他除了删除整个列表,也可以删除指定下标元素,比如
nameList = ['zzp', 'zy', 'ls']
del(nameList[0])
print(nameList)

2、pop
删除指定下标元素,如果不指定下标,则默认删除列表最后一个元素,无论指定下标或者不指定下标,它都会返回被删除的元素。
nameList = ['zzp', 'zy', 'ls']
del_name=nameList.pop()
print(nameList)
print(f"被删除的元素是{del_name}")

带下标删除返回
nameList = ['zzp', 'zy', 'ls']
del_name=nameList.pop(1)
print(nameList)
print(f"被删除的元素是{del_name}")

3、remove
删除列表中的指定元素,比如我需要删除nameList中的zzp
nameList = ['zzp', 'zy', 'ls']
nameList.remove('zzp')
print(nameList)

4、clear
清空列表
nameList = ['zzp', 'zy', 'ls']
nameList.clear()
print(nameList)

修改列表数据的几种方式
1、修改指定下标数据
nameList = ['zzp', 'zy', 'ls']
nameList[0]='aaa'
print(nameList)

2、reverse
就是将列表全部反过来,逆置
nameList = ['zzp', 'zy', 'ls']
nameList.reverse()
print(nameList)

3、sort
将列表元素排序
nameList = [1,3,4,2,8,0]
nameList.sort()
print(nameList)

扩展知识 元组
元组也是用于存放多个数据,与列表不同的是元组中存放的元素不可以被修改,定义方式使用“()”包裹
值得注意的是定义元组时,当元组中只有一个数据的时候也需要在后面加上“,”,否则数据类型就不是元组
比如
nameList = (1,)
print(type(nameList))
nameList1=(1)
print(type(nameList1))
结果:

可以看到,第一个数据类型是元组,第二个数据类型是int。
网友评论