今天一天都在做题刷熟练度,即使如此,也学到了一些小技巧。

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)

封面来自我自己。

标签: none

添加新评论