鱼C论坛

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

[已解决]python二维列表 添加问题

[复制链接]
发表于 2021-11-3 20:41:24 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 admintest166 于 2021-11-3 20:44 编辑

代码和打印输出如下所示
我创了两个循环 i循环4次 然后random随机产生1个数 (循环4次 随机出4个数字) k循环也是一样

我希望i的结果是[[1,2,3,4],[5,6,7,8]]
而现在输出的结果是两个循环在一个列表中
下图输出的效果我希望是  [[3,1,4,5],[5,6,6,6]]
因为很久没接触python了 希望各位大佬帮解答一下下 ~
  1. import random

  2. a=[]
  3. b=[]
  4. def test():


  5.     for i in range(4):
  6.         yy=random.randint(1,5)
  7.         b.append(yy)
  8.     a.append(b)


  9.     for k in range(4):
  10.         cc=random.randint(5,10)
  11.         b.append(cc)

  12.     a.append(b)
  13. test()
  14. print(a)



复制代码
最佳答案
2021-11-3 21:26:21
admintest166 发表于 2021-11-3 21:03
还有个小问题~
如下 代码我想调用两次函数  每次填写的元素存储在一个列表中 两次调用就是二 ...
  1. a = []


  2. def test():
  3.     t = []
  4.     for i in range(2):
  5.         t.append(input('请输入:'))
  6.     a.append(t)


  7. test()
  8. print('第二次')
  9. test()
  10. print(a)
复制代码
求组.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-11-3 20:50:24 | 显示全部楼层
本帖最后由 傻眼貓咪 于 2021-11-3 20:59 编辑
  1. import random

  2. a=[]
  3. b=[]
  4. def test():


  5.     for i in range(4):
  6.         yy=random.randint(1,5)
  7.         b.append(yy) # 你这里用列表 b
  8.     a.append(b)


  9.     for k in range(4):
  10.         cc=random.randint(5,10)
  11.         b.append(cc)  # 你这里也用列表 b,所以列表 b 越来越多元素

  12.     a.append(b)
  13. test()
  14. print(a)



复制代码
正解:
  1. import random
  2. arr = [random.choices(range(1, 6), k = 4), random.choices(range(6, 11), k = 4)]
  3. print(arr)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-3 20:51:19 | 显示全部楼层
  1. a = []
  2. a.append(random.choices(range(1, 6), k=4))
  3. a.append(random.choices(range(6, 11), k=4))
  4. print(a)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-3 20:54:39 | 显示全部楼层
  1. import random

  2. def test():
  3.     b , c = [] , []
  4.     for _ in range(4):
  5.         b . append(random . randint(1 , 5))
  6.     a . append(b)
  7.     for _ in range(4):
  8.         c . append(random . randint(5 , 10))
  9.     a . append(c)

  10. a = []
  11. test()
  12. print(a)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-3 21:03:59 | 显示全部楼层

还有个小问题~
如下 代码我想调用两次函数  每次填写的元素存储在一个列表中 两次调用就是二维列表存储 如[[1,2],[3,4]] 要怎么改呢

  1. a=[]
  2. def test():
  3.     for i in range(2):
  4.         user=input('请输入:')
  5.         a.append(user)
  6. test()
  7. print('第二次')
  8. test()
  9. print(a)
复制代码

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

使用道具 举报

发表于 2021-11-3 21:26:21 | 显示全部楼层    本楼为最佳答案   
admintest166 发表于 2021-11-3 21:03
还有个小问题~
如下 代码我想调用两次函数  每次填写的元素存储在一个列表中 两次调用就是二 ...
  1. a = []


  2. def test():
  3.     t = []
  4.     for i in range(2):
  5.         t.append(input('请输入:'))
  6.     a.append(t)


  7. test()
  8. print('第二次')
  9. test()
  10. print(a)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-16 00:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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