Python 数据结构特点
数值、字符串、元祖(tuple)采用的是复制方式(深拷贝)
即
python 引用全局变量
需要引用全局变量前加个 global
demo:
x = 5
print(5)
def get():
global x
x = x + 10
print(x)
get()
python 字典遍历
data a {‘a’: ‘1’, ‘b’: ‘2’, ‘c’: ‘3’}
- 1.遍历 key 值
- for key in a:
print(key+":"+a[key])
- for key in a:
- 2.遍历value值
- for values in a.values():
print(values)
- for values in a.values():
- 3.遍历字典键值
- for key,values in a.items():
print(key+":"+values)
- for key,values in a.items():
python range() 函数
- range(start,stop[,step]) 前闭后开
- start: 计数 从start 开始。默认是从0开始。例如 range(5)等价于range(0,5)
- stop: 计数到 stop结束,但不包括 stop。例如 range(0,5) 是 [0,1,2,3,4]没有5
- step: 步长,默认为1。例如:range(0,5)等价于range(0,5,1)
python 位运算符
& 与运算符。如果两个相应位都为1,则该位的结果为1,否则为0
| 或运算符。如果两个二进制位有一个为1时,结果位就为1
^ 异或运算符。当两对应的二进位相异时,结果为1
~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1
python 逻辑运算符
and demo: x and y
or demo: x or y
not demo: not x
python 成员运算符
in 如果在指定的序列中找到值返回True,否则返回 False。 x 在 y 序列中,如果x 在y 序列中返回True
not in 如果在指定的序列中没有找到值返回True,否则返回 False。
python 身份运算符
is is是判断两个标识符是不是引用自一个对象 x is y 如果引用的是同一个对象则返回True,否则返回false
is 与 == 区别:
is 用于 判断两个变量应用对象是否为同一个, == 用于判断引用变量的值是否相等
判断是否为 列表
isinstance(val,list)
li = [1,2,3]
if isinstance(li,list):
print(“This is a List”)
将键值对插入字典的指定位置
解决思路一:将dict 初始化为 OrderedDict;遍历原始字典的所有键,并在键名匹配时插入before/after。
from pprint import pprint
from collections import OrderedDict
def insert_key_value(a_dict, key, pos_key, value):
new_dict = OrderedDict()
for k, v in a_dict.items():
if k==pos_key:
new_dict[key] = value # insert new key
new_dict[k] = v
return new_dict
mydict = OrderedDict([('Name', 'Zara'), ('Age', 7), ('Class', 'First')])
my_new_dict = insert_key_value(mydict, "Phone", "Age", "1234")
pprint(my_new_dict)
python 读取文件
with open(input_path, ‘r’, encoding=“utf-8”) as f: # 读取文件
lines=f.readlines() # lines 是 list[bytes] 每行数据就是list里面的一个item
python list
指定位置上插入数据 lines.insert(6,“123”) list 索引为6的位置插入 “123”。list后面的索引依次顺延
markdown 换行 后面加两个空格