列表解析式:它并不是用来解决全新的问题,只是为解决已有问题提供了新的语法
列表解析式语法
number = [1, 2, 3, 4, 5]
double_odds = []
for n in number:
if n % 2 == 1:
double_odds.append(n * 2)
print(double_odds)
double_odds = [n * 2 for n in number if n % 2 == 1]
print(double_odds)
无条件子句的列表解析式
month = [str(i) + '月' for i in range(1,12)]
print(month)
字典解析表达式
d = {'j': 'java', 'p': 'python', 'o': 'oracle'}
d2 = {}
for key, value in d.items():
# 得知遍历时不能修改字典元素
d2[value] = key
print(d2)
d = {value: key for key, value in d.items()}
print(d)
import numpy as np
t1 = np.arange(12).reshape(3,4)
# [行,列] 选择并修改某个点
t1[0,0] = 100
print(t1)
print(t1[:,(1,3)])
print(t1[(0,2),1:])
import numpy as np
t2 = np.zeros(shape=(10,10),dtype=np.int8)
t2[[0,9]] = 1
t2[:,[0,9]] = 1
print(t2)
import numpy as np
import pandas as pd
np.random.seed(4)
score_list = np.random.randint(25, 100, size=20)
print(score_list)
# [27 70 55 87 95 98 55 61 86 76 85 53 39 88 41 71 64 94 38 94]
df = pd.DataFrame(data=score_list,columns=['score'])
# 指定多个区间
bins = [0, 59, 70, 80, 100]
labels=['不及格','及格','良好','优秀']
score_cut = pd.cut(df['score'], bins,labels=labels)
print(type(score_cut)) #
print(score_cut)
df['type'] = score_cut
print(df)
# ndarray --> Series --> DataFrame
import numpy as np
import pandas as pd
t1 = np.arange(12).reshape(3,4)
# 没有列名和索引,聚合函数对ndarray有效
print(t1.max(),t1.min(),t1.mean())
print('-'*100)
# Series必须是1维的
ss = pd.Series(data=[1,2,2,3], name="col_name")
print(ss,type(ss))
print(ss.index,ss.values,type(ss.values),ss.name)
print('-'*100)
# DataFrame是2维的
df = pd.DataFrame(data=t1,index=list('xyz'),columns=list('abcd'))
print(df,type(df))
print(df.index,df.values,df.columns)
# 对每一列进行聚合操作
print(df.max(),df.min(),df.mean())
# 仅仅针对Series操作,对每组进行统计,返回还是一个Series
print(ss.value_counts()) # df操作失败
class Person(object):
# 是一个静态方法,根据类型创建实例, 创建实例后会自动调用init方法
def __new__(cls, *args, **kwargs):
print(cls, args, kwargs)
return object.__new__(cls)
# 是一个实例方法,用来在创建完成对象后进行必要的初始化,该方法返回None
def __init__(self, name, age):
print('name:', name, 'age:', age)
self.name = name
self.age = age
# return ""
def show(self):
print(self.name, self.age)
p = Person("admin", age=23)
p.show()