本文仅作为学习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