本文仅作为学习python 的笔记和记录,方便以后复习和查看
文章想到什么写什么,尽可能把想到的记录下来
pyhton3 中注释有两种方法
1.用的是‘#’
# print('hello world')
2.用三引号
'''
多个数据默认返回元组tuple
'''
pyhton type id内置函数
type()
函数用于查看数据类型
print(type(list())) # <class 'list'>
print(type('sdgg')) # <class 'str'>
print(type(123)) # <class 'int'>
id()
函数用于查看变量的内存地址
a = 'sdsa'
b = 34
print('%x'%id(a)) # 23d1ed29110
print('%x'%id(b)) # 653b7030
比较id()可以用is或者用id
a = [25,'dsg',[424,'fas']]
b = a
c = [25,'dsg',[424,'fas']]
b[2][0] = 2
print(a) # [25, 'dsg', [2, 'fas']]
print(b) # [25, 'dsg', [2, 'fas']]
if id(a) == id(b):
print(True)
else:
print(False)
#Ture
if a is b:
print(True)
else:
print(False)
#Ture
if a is c:
print(True)
else:
print(False)
#False
列表list
list类似C中的数组,用于存储数据,list更强大,可以同时存放各种数据类型
list申请一个可以用[]或者list()
a = [] # 空列表
print(a,type(a)) # [] <class 'list'>
b = list() # 生成一个空列表
print(b,type(b)) # [] <class 'list'>
c = [23,'sfs',[242,'f23'],(214,556,)]
print(c,type(c)) # [23, 'sfs', [242, 'f23'], (214, 556)] <class 'list'> # 可以存放各种数据类型
列表list遍历
while遍历
a_list = [422,43,'424','44']
list_len = len(a_list) #用len获取列表元素个数
print(list_len)
i = 0
while i < list_len:
print(a_list[i])
i = i + 1
'''
4
422
43
424
44
'''
for遍历
a_list = [422,43,'424','44']
#方法一:
for i in range(len(a_list)):
print('a_lsit[%d]=%s'%(i,a_list[i]))
#方法二:
#enumerate 以元组的形式返回下标和元素内容
for i,b_list in enumerate(a_list):
print('a_lsit[%d]=%s'%(i,b_list))
'''
a_lsit[0]=422
a_lsit[1]=43
a_lsit[2]=424
a_lsit[3]=44
'''
#方法三:
for i in a_list:
print(i)
'''
422
43
424
44
'''
获取列表元素个数用内置函数len
a_list = [422,43,'424','44']
a_len = len(a_list)
print(a_len)# 4
列表list的增删改查
1 查 ------ 切片
a_list = [422,43,'424','44']
print(a_list[]) #输出所有元素 [422, 43, '424', '44']
print(a_list[1:]) #输出从第一个开始后面的元素 [43, '424', '44']
print(a_list[2:0]) #并不是取到最后 []
print(a_list[1:1]) #[]
print(a_list[1:2]) #[43]
print(a_list[1:-1]) #从左往右取到倒数第二个值 [43, '424']
print(a_list[1:-2]) #取到倒数第三个值 [43]
print(a_list[1:-1:1]) #取到倒数第二个值 步长是1 [43, '424']
print(a_list[1:-2:1]) #取到倒数第三个值 步长是1 [43]
print(a_list[3::-1]) #从右往左取到第一个 步长是1 负号代表方向 ['44', '424', 43, 422]
print(a_list[3:1:-1]) #从右往左取到第二个 步长是1 负号代表方向 ['44', '424']
print(a_list[2::-1]) #从第三个元素从右往左取到第一个 步长是1 负号代表方向 ['424', 43, 422]
print(a_list[2::]) #从第三个元素从右往左取到最后 不填默认步长是1 ['424', '44']
print(a_list[::-1]) # ['44', '424', 43, 422]
print(a_list[::1]) # [422, 43, '424', '44']
# 下面两种情况是一样的效果
a_list[2:0] ='1111'
print(a_list) #[422, 43, '1', '1', '1', '1', '424', '44']
a_list[2:2] ='1111'
print(a_list) #[422, 43, '1', '1', '1', '1', '424', '44']
#列表旋转
a_list = [422,43,'424','44']
def xuanzhuang(num_list,k=0):
if num_list :
k = k % len(num_list)
num_list[:]=num_list[-k:]+num_list[:-k]
xuanzhuang(a_list,3)
print(a_list) #['424', '44', 443, 422, 43]
总结就是
# 有冒号时什么不填代表 到最后
# +或者不写表示从左往右 负号代表方向 从右往左数 -1 表示从右往左数第一个 即倒数第一
# 带三个参数表示步长 取数据的方式 不填表示一个一个取 1表示一个一个取 2表示隔一个取一个数据 以此类推 负号表示取得方向
列表的增加可以用append extend ‘+’ 切片 insert
其中extend ‘+’ 切片赋的数据要是iterable 可迭代的
iterable在python被认为是一个对象 ,这个对象可以一次返回一个成员,由此可见
python中string list tuple dict file xrange都是可迭代的,都是属于iterable对象,可迭代的对象是可以遍历的
append 通过传入一个形参将变量加入到列表最后面
传进去的相当于一个元素
a_list = [422,43,'424','44']
b = 0
c = 'sdggd'
d = [903,5]
a_list.append(b)
print(a_list) # [422, 43, '424', '44', 0]
a_list.append(c)
print(a_list) # [422, 43, '424', '44', 'sdggd']
a_list.append(d)
print(a_list) # [422, 43, '424', '44', [903, 5]]
extend:通过extend可以将另一个集合中的元素逐一添加到列表中
a_list = [422,43,'424','44']
b_list = [12,24]
a_list.extend(b_list)
print(a_list) # [422, 43, '424', '44', 12, 24]
print(b_list) # [12, 24]
b_list.extend(a_list)
print(a_list) # [422, 43, '424', '44', 12, 24]
print(b_list) # [12, 24, 422, 43, '424', '44', 12, 24]
切片
通过切片查找遍历列表然后进行赋值或者插入
a_list[1:1] 插入在第二位置
a_list[len(a_list):len(a_list)] 插入在最后面
通过输入参数可以控制放置的位置
a_list[1:0]和a_lsit[1:1]是一样的效果 都是插到第二个位置
a_list = [422,43,'424','44']
b_list = [12,24]
c = 24
d = 'sdasg'
a_list[len(a_list):len(a_list)] = b_list
a_list[len(a_list):len(a_list)] = d
print(a_list) #[422, 43, '424', '44', 12, 24, 's', 'd', 'a', 's', 'g']
a_list[len(a_list):len(a_list)] = c # 报错can only assign an iterable c是int类型 不是可迭代的对象
a_list[1:3] = {12,333} # [422, 12, 333, '44'] 重新赋值对 下标 1 和 2
a_list[1:2] = {12,333} # [422, 12, 333, '424', '44'] 对下标1重新赋值并掺入多的元素
两个列表可以用‘+‘合并
a_list = [422,43,'424','44']
b_list = [12,24]
a_list += b_list
print(a_list) # [422, 43, '424', '44', 12, 24]
insert 插入 需要输入两个参数 第一个插入的位置 第二个数据类似append
只不过append只能加入到最后
输入的数据加到列表就是一个元素
a_list.insert(1,"51123132") # 插入到第二个位置 第一个参数填插入的位置
print(a_list) #[422, '51123132', 43, '424', '44']
未完 2020-10-18
/
list内部包含list的合并方法
zip
items
eval