作为笔试的简单输入
从键盘的输入是字符串,所以需要转为int类型
一行有两个数字:
n,k=map(int,input().split())
一行以空格表示隔开:
如:‘5 3 8 2 5’ --> [5, 3, 8, 2, 5]
nums=[int(i) for i in input().split()]
字符串转为数字的列表:
如:'787585' --> [7,8,7,5,8,5]
nums=input()
nums=list(map(int,nums))
数字转为数字的列表,即求数字各个位上的数:
如:568-->[5,6,8]
num=568
num1=list(map(int,list(str(num))))
反之:将数字列表转化为数字字符串
[5,6,8] --> '568'
num=[5,6,8] res1=''.join(map(str,num))
res2=''.join([str(i) for i in num])#另解
发现zip的用处还蛮多的
1. 用zip生成字典
keys=[i for i in range(3)] values=['a','b','c'] dic=dict(zip(keys,values))
>> dic={0: 'a', 1: 'b', 2: 'c'}
但是字典的keys不能重复
2. 用zip实现对应的两个数组的各元素相减
nums1=[2,3,4,5,6] nums2=[1,1,1,1,1] diff=list(map(lambda x:x[0]-x[1], zip(nums1,nums2)))
>>diff=[1, 2, 3, 4, 5]
3. 矩阵转置
a=[[1,2,3],[4,5,6],[7,8,9]]
a_T=list(map(list,zip(*a)))
>>a_T=[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
注意:*a=[1, 2, 3] [4, 5, 6] [7, 8, 9]
如果直接list(zip(*a)),返回的是[(1, 4, 7), (2, 5, 8), (3, 6, 9)]