''' str.strip([chars]) chars -- 移除字符串头尾指定的字符序列。 返回移除字符串头尾指定的字符生成的新字符串。 ''' import sys n = int(sys.stdin.readline().strip()) #使用sys #一维数组 data= [int(x) for x in stdin.readline().strip().split()]
# 二维数组 import sys n = int(sys.stdin.readline().strip()) point = [] for i inrange(n): point.append(list(map(int, sys.stdin.readline().strip().split())))
结果: Hello Hello world ali is18 years old. 232.11 Hehe, 20.28 Hehe, 20.28
常用函数
创建数组
1 2 3 4 5
# 创建一维列表 sqlist = [ x*x for x inrange(1, 11)] print(sqlist) str2 = [ch.upper() for ch in'Hello world!'if ch notin'orld'] #循环和判断语句同时使用 print(str2)
1 2 3 4 5 6 7 8 9
创建二维数组 : a = [[0for col inrange(m)] for row inrange(n)] 或者[[0]*m for i inrange(n)] 但是千万不要用[[0]*m]*n!!是错误的。对象被复制 # 创建一个二维列表5*5 list1 = [[0]*5for i inrange(5)] print(list1) # 创建一个3*3的二维数组 arr=[list(map(int,input().split())) for i inrange(3)]
from sys import stdin n =int(stdin.readline().strip()) data= [int(x) for x in stdin.readline().strip().split()] #可以对每一行进行操作,会统一放进同一个列表中;注意int操作对字符串数据变换 #使用stdin.readline().strip().split() strip去掉首尾空字符串 split进行切割数据 partsum=[0] for x in data: partsum.append( partsum[-1]+x )
defleft_bound(data): left=[ 0for i inrange(n) ] for i,v inenumerate( data[1:],1): if v > data[i-1]: left[i]=i else: k = i-1 while k >= 0: if v < data[k]: k = left[k]-1 else : left[i] = left[k] if v == data[k] else k+1 break return left
left = left_bound(data) right= left_bound(data[::-1])[::-1] right= [n-x for x in right ]
res = max([ data[i]*(partsum[right[i]]-partsum[left[i]]) for i inrange(n) ]) print(res)
p = [] n = int(input()) for i inrange(n): tmp = input() a = [int(x) for x in tmp.split(' ')] p.append(a) sorted(p, key=lambda x: (-x[0], -x[1])) tmp = -1 for t in p: if t[1] > tmp: print('%d %d' % (t[0], t[1])) tmp = t[1]