Python-输入、列表与字符串之间的转换、zip使用
作为笔试的简单输入
从键盘的输入是字符串,所以需要转为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)]
欲望才是原动力
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· PPT革命!DeepSeek+Kimi=N小时工作5分钟完成?
· What?废柴, 还在本地部署DeepSeek吗?Are you kidding?
· DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地
· 程序员转型AI:行业分析