牛客网python刷题笔记
1,第10行数据 : print(df.iloc[10,:])
2,a = int(x,base=16) 即设定a是16进制的 ,通常默认base为10
3,字符串长度 len(a)
4,
str.lower() — str字符全部小写
.upper() — 全部大写
.title() — 各个字符的首字母大写
.capitalize() — 首字母大写
.strip() — 删除两边空格
.lstrip() — 删除左边空格
.rstrip() — 删除右边空格
.replace(" “,”“) — 删除所有空格
.split() — 先切分,”".join() — 再拼接
str.split(‘|’) —以|拆分str
str.split() ----以空格拆分
添加:
a.append(‘Allen’) —在a列表的后面加Allen
a.insert(0,‘Allen’) ----在a的首位加Allen
删除:
s.pop(0)#删除s列表中下标为0的元素
com.remove(com[0]) #remove后跟元素值
5,字符串截取—直接用切片操作
strname[start : end : step]
参数:
strname:要截取的字符串;
start:如果不指定,默认为 0
end:表示要截取的最后一个字符所在的索引(截取时不包含该字符)。
step:步长
6,
对列表排序
a1 = sorted( a ) 不改变原列表a
a.sort (reverse = True) 原表a改变了,且是降序排列
a.reverse() 将列表a进行反转
7,获取4位整数中各位置上的数值
first = a//1000
second = (a//100)%10 # 原来:second = a//100-first*10
third = (a//10) % 10 # 原来:third = a//10-first*100-second*10
fourth = a % 10 # 原来:fourth = a-1000*first-100*second-10*third
8,交换数组中两个元素的位置
# 定义数组中i和j位置的元素交换方法
# def swap(list,i,j):
# tmp = list[i]
# list[i] = list[j]
# list[j] = tmp
# 将第1位和第3位数字交换
arr[0],arr[2] = arr[2],arr[0] # swap(arr,0,2)
# 将第2位和第4位数字交换
arr[1],arr[3] = arr[3],arr[1] # swap(arr,1,3)
9,拼接打印数组中的每个元素
# print(arr[0],arr[1],arr[2],arr[3]) # 6 7 4 5
print(arr[0],arr[1],arr[2],arr[3],sep='') # 6745
10,返回列表中的列是否有空值
any()
print(df.isnull().any(axis=0))
11,筛选数据后输出
#筛选语言为python的行输出
print(df[df['Language']== 'Python'])
#筛选语言为python的行 ,输出Achievement_value列的值
print(df[df['Language'] == 'Python']['Achievement_value'])
#输出一列只有一个[],多列则有两个[]
#筛选Num_of_exercise大于等于500,输出'Level','Achievement_value' 多列
print(Nowcoder[Nowcoder['Num_of_exercise'] >=500][['Level','Achievement_value']])
#筛选'Nowcoder_ID','Level'这两列的后5行 df.loc[df.index[-5:],[列名]]
print(df.loc[df.index[-5:],['Nowcoder_ID','Level']])
#语言为CPP、C、C#对应的所有列-三种解法 isin()
print(Nowcoder[Nowcoder['Language'].isin(['CPP','C','C#'])])
print(Nowcoder.query("Language in ('CPP', 'C', 'C#')"))
print(Nowcoder.query("Language == 'CPP' or Language == 'C' or Language == 'C#'"))