愤鸟的Py3入门笔记(Day3)
今天一天都在做题刷熟练度,即使如此,也学到了一些小技巧。
1.一行内输入多个数据
数目固定
在输入数据数目固定,且不算特别多的时候,可以采用这种方法:
a,b,c = map(int,input().split())
这种方法依赖字符串的split()
方法和map()
函数。split()
方法的作用是,将字符串中被空格隔开的各部分子串分离出来,并加入到一个列表中。map()
函数则将其全部转化为数字(或者其他需要的数据类型),并存入变量中。
数目不定
在输入数目不定,或输入数目较多时,可以在以上方法的基础上稍加改动,实现动态输入:
L = list(map(int,input().split()))
这种方法和上面的方法无本质区别,只是把各个元素重新装入列表里而已。
2.print()
后不换行
print()
函数可以接受几个参数,其中之一是end
参数。end
参数的作用是指定print()
函数输出的结尾,默认参数为end='\n'
,改变这个参数可以实现一行内输出等效果。
3.动态创建列表
Py3 的列表具有类似C++中数组的用法,但是创建起来并不那么自由,有时需要动态生成。
暴力循环法
#产生三维列表
while n1>0:
cache=[]
m1=m
while m1>0:
l=[]
p1=p
while p1>0:
l.append(1)
p1-=1
m1-=1
cache.append(l)
L.append(cache)
n1-=1
列表生成式法
本质是暴力循环法的改版
#产生二维列表
for i in range(m+1):
l=[n-n for n in range(m+1)]
L.append(l)
封面来自我自己。