PyCharm
* 常用快捷键
1. 多行注释:win:ctrl+?;mac:alt+?
for/while...else:else只有当循环正常结束,没有被break、exit,则执行
for i in range(10):
print(i)
if i == 5:
break
else: #当循环正常结束,没有被break、exit,则执行
print("loop done")
list
1.初始化递增的list:
list1 = list(range(10))
list2 = [0 for i in range(8)]
#print list1
#[0,1,2,...,9]
2.初始化每项为0的一维数组:
list2 = [0] * 5
#print list2
#[0,0,0,0,0]
3.初始化二维数组
li = [[0] * 3 for i in range(4)]
4.列表脚本操作符
5.
列表操作包含以下函数:
1、cmp(list1, list2):比较两个列表的元素
2、len(list):列表元素个数
3、max(list):返回列表元素最大值
4、min(list):返回列表元素最小值
5、list(seq):将元组转换为列表
li = list()
a = "liuchang"
li = list(a)
li:['l','i','u','c','h','a','n','g']
列表操作包含以下方法:
增:
1、list.append(obj):在列表末尾添加新的对象
2、list.insert(index, obj):将对象插入列表
删:
3、list.remove(obj):移除列表中某个值的第一个匹配项
4、list.clear():清空列表
5、list.pop(obj=list[-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
6、del li[-1]
改:
7、list[头:尾:步长]:切片 顾左不顾右 并不改变原列表,list[0:]:从头切到尾
8、list[::-1]:反转列表(不会改变原列表,返回新列表)
查:
10、element in list:判断element是否包含在list中,返回true、false
11、list.count(element):统计某个元素在列表中出现的次数
12、list.index(obj):从列表中找出某个值第一个匹配项的索引位置
特殊:
13、list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
14、list.reverse():反向列表中元素,改变原列表
15、list.sort( key=None, reverse=False):对原列表进行排序,默认从小到大(reverse = False),若想倒序(list.sort([list],reverse = True)) 如果这个列表是字典的列表,则可以用key = '字典的key'来表示按照什么进行排序
16、列表合并 list1+list2,不改变list原列表
17、list.copy():浅拷贝(只能拷贝一层,嵌套列表会有一点问题,修改的话是修改的同一地址上的元素)
#小列表在大列表中实际上存储的是地址,copy的是地址
lista = [1,2,3,4,['lc','wsq'],5,6]
listb = lista.copy()
listb[4][0] = "hgx"
listb[1] = '111'
print(lista)
#[1, 2, 3, 4, ['hgx', 'wsq'], 5, 6]
列表深拷贝:
import copy
lista = [1,2,3,4,['lc','wsq'],5,6]
listb = copy.copy(lista)
listc = copy.deepcopy(lista)
listb[4][0] = "shallow"
listc[4][1] = "deep"
print(lista,listb,listc)
#listb的修改影响到了a -> 浅拷贝
# listc的修改没有影响到a -> 深拷贝
# [1, 2, 3, 4, ['shallow', 'wsq'], 5, 6]
# [1, 2, 3, 4, ['shallow', 'wsq'], 5, 6]
# [1, 2, 3, 4, ['lc', 'deep'], 5, 6]
random模块
1.random.random()
#用于生成一个0到1的
#随机浮点数:0<= n < 1.0
2.random.randint(a, b)
#用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b
import random
print(random.randint(1,10))
3.random.sample(sequence, k)
#从指定序列中随机获取指定长度的片断并随机排列。注意:sample函数不会修改原有序列