ListFunction
# 声明方式
a=[1,2,3,4,5,6]
# 访问
print(a[0],a[1],a[-1],a[-2])
# 切片:a[x:y]x表示开始位置,不写默认为0(包含).y表示结束位置,不写默认为-1(不包含)
print(a[2:5])
# 尾部添加
a.append(1)
print(a)
# 统计目标元素的个数
print(a.count(1))
print(a.index(1))
# 插入
a.insert(0,9)
# 删除(下标)
a.pop(1)
# 删除(元素)如果有相同的,弹出前面的
a.remove(1)
# 排序
a.sort()
# 倒序
a.reverse()
# 内置函数
b=list(range(1,10,2))
def f(x):
return x%2!=0and x%3!=0
def f1(x):
return x*x*x
c=list(filter(f,range(0,10)))
d=list(map(f1,range(1,10)))
# 初始化二维数组的方法
b = [[0]*5 for _ in range(5)]
SetFunctoin
# 声明
s=set('abab')
print(s)
# 添加(整个添加)
s= set()
s.add('abab')
print(s)
#添加(分开添加)
s= set()
s.update('abcc')
print(s)
#移除
s.remove('a')
print(s)
#清空
s.clear()
print (s)
DictionaryFunction
a={1:"a",2:"b",3:"c"}
print(a[2])
# 删除KEY
a.pop(1)
print(a)
# 删除最后一对
a.popitem()
print(a)
# 查询1是否在字典中
if 1 in a:
StringFunction
str1="this is test"
str2="hello world"
# 首字母大写
print(str1.capitalize())
# 大写
print(str1.upper())
# 小写
print(str1.lower())
# 查找,返回位置索引。如果没有,返回-1
print(str1.find("is"))
# 替换
print(str2.replace("world","beautiful"))
# 把字符串切割成列表
a=str1.split(" ")
print(a)
TupleFunction
a=[1,2,3,4,5,6,7,8,9]
b=(1,2,3,4,5,6,7,8,9)
a[1]=1
b[1]=1
print(a,b)
# 元组是常量的LIST
heapqt
python没有可以直接使用的大顶堆。但是我们可以给列表中的元素加上负号,使其变成小顶堆,再在取数的时候再将其添加负号,就将小顶堆变成了大顶堆。
# heapqt提供了对应堆的支持,构建的是小顶堆
from heapq import *
my_data = [7,6,3,2,9,0,1,5,4]
# 将list转换为堆
heapify(my_data)
# 添加一个元素,堆自动调整,继续满足小顶堆
heappush(my_data,0.5)
# 弹出堆中最小元素(即堆顶元素)
print(heappop(my_data)) # 0
# 弹出堆顶元素,同时压入一个元素
print(heapreplace(my_data,4.5)) # 0.5
# 返回堆中最大的n个元素
print(nlargest(3,my_data)) # [9, 7, 6]
# 返回堆中最小的n个元素
print(nsmallest(3,my_data)) # [1, 2, 3]
& 与 (都是1时,结果才为1)
| 或 (只要有1,那么就是1)
^ 异或 (只要一样结果就是0)
统计X的二进制形式中1的个数:
ones=0
while x>0:
x=x&(x-1)
ones+=1
return ones
其他
排序
a=sorted(iterable,key=lambda x:x[1],reverse=False升序(默认))
对数组的排序
a=[[1,2],[2,3],[8,0],[9,4],[1,4]]
a=sorted(a,key=lambda x:x[1])
对字典的排序
hash={"a":1,"b":3,"c":4,"z":9,"e":6,"f":7}
b=sorted(hash.items(),key=lambda x:x[0])
print(dict(b))
输入输出:
import sys
# 接收第一行,以字符串的形式返回。
a=input()
# 循环接收,主要这里的line是字符串
for line in sys.stdin:
#以空格为分割并删除回车
a = line.split()
#删除回车
a=line.strip()
#删除回车并以“,”分割
a=line.strip().split(",")
把字母转化ASCll
c=ord('a')