鱼C论坛

 找回密码
 立即注册
查看: 1806|回复: 5

[已解决]将多位整数转成列表

[复制链接]
发表于 2020-10-13 15:00:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x


  1. # 第一个问题
  2. # nums = [2,5,3,8]

  3. # 输出为:[5,5,8,8,8]  2个5,3个8


  4. # # 第二个问题
  5. # nums = [42,39]       
  6. # 输出为:[39,39,39,39,39,39,39,39,39,39,39,39,39......]   一共42个39

复制代码



第一个基本会做了,但用第一个的代码运行第二个会先显示

  1. ['3', '9', '3', '9', '3', '9', '3', '9', '3', '9', '3', '9', '3', '9']
复制代码



有没有大佬会这个的
最佳答案
2020-10-13 15:15:25
jtxs0000 发表于 2020-10-13 15:07
好吧,应该是我没有描述清楚,我是想要写一组代码,能把第一个问题和第二个问题都能运行起来,甚至说,如 ...

这样?
  1. nums = [42,39,12,5,100,23]
  2. new=[nums[i+1] for i in range(0,len(nums),2) for a in range(1,nums[i]+1)]
  3. print(new)
复制代码


[39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23]
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-10-13 15:03:38 | 显示全部楼层
  1. >>> nums = [42,39]
  2. >>> print([nums[1]] * nums[0])
  3. [39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39]
复制代码

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
jtxs0000 + 1 + 1 谢谢大佬给我思路

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-10-13 15:07:56 | 显示全部楼层

好吧,应该是我没有描述清楚,我是想要写一组代码,能把第一个问题和第二个问题都能运行起来,甚至说,如果出现其他类似的也可以运行,比如
  1. nums = [42,39,12,5,100,23]
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-13 15:15:25 | 显示全部楼层    本楼为最佳答案   
jtxs0000 发表于 2020-10-13 15:07
好吧,应该是我没有描述清楚,我是想要写一组代码,能把第一个问题和第二个问题都能运行起来,甚至说,如 ...

这样?
  1. nums = [42,39,12,5,100,23]
  2. new=[nums[i+1] for i in range(0,len(nums),2) for a in range(1,nums[i]+1)]
  3. print(new)
复制代码


[39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23]
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-13 15:19:22 | 显示全部楼层
jtxs0000 发表于 2020-10-13 15:07
好吧,应该是我没有描述清楚,我是想要写一组代码,能把第一个问题和第二个问题都能运行起来,甚至说,如 ...
  1. nums = [42, 39, 12, 5, 100, 23]
  2. output = []
  3. for each in range(0, len(nums), 2):
  4.     output += nums[each] * [nums[each + 1]]
  5. print(output)
复制代码

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
jtxs0000 + 1 + 1 鱼C有你更精彩^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-13 15:29:33 | 显示全部楼层
  1. num = [5,3,2,4,2,8]
  2. l = len(num)
  3. nums = []
  4. if l%2==0:
  5.     #偶数输出列表
  6.     for i in range(0,l):
  7.         if i%2!=0:
  8.             nums.extend([num[i]] * num[i-1])
  9. else:
  10.     #奇数报错
  11.     print("少一个数字")
  12. print(nums)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-28 07:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表