跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • python3 一小段 code 求个简写
未分類
15 11 月 2020

python3 一小段 code 求个简写

python3 一小段 code 求个简写

資深大佬 : css3 0

大佬们,下面这小段,有什么简写吗,已被自己蠢哭

# python3  A_one, A_other_one, A_two, A_other_two = A B_one, B_other_one, B_two, B_other_two = B ... # 会有很多  all = [     [{ "A_one": A_one, "B_one": B_one },         { "A_other": A_other_one, "B_other": B_other_one }     ],     [{ "A_one": A_two, "B_one": B_two },         { "A_other": A_other_two, "B_other": B_other_two }     ] ] 

大佬有話說 (13)

  • 資深大佬 : paddistone

    k 要是没有意义干嘛不考虑元组;
    需求如此的话,这就是最好的实现了,keep simple, keep stupid ;
    一点要花里胡哨一点,exec 、eval 了解一下,不建议

  • 資深大佬 : RRRoger

    你至少得先把这些重复的东西 提取出一个函数吧

  • 資深大佬 : chaleaoch

    你的意思 A 和 B 会有很多 成对出现吗? 否则你这个代码看不懂.

  • 資深大佬 : tairan2006

    你这是为了解包?你直接写个数组按索引取不就完了

  • 資深大佬 : xchaoinfo

    试试这个模块
    “`python
    from collections import namedtuple
    “`

  • 資深大佬 : MaxTan

    没看懂为啥要这样写,先把思路捋清楚

  • 主 資深大佬 : css3

    @css3 @paddistone @RRRoger @chaleaoch @tairan2006 @xchaoinfo @MaxTan

    就是通过 A, B… 生成 all 这个 list, all 里边嵌套 list, 里边又是个 dict, dict 的 key 是固定的

  • 主 資深大佬 : css3

    value 根据 A, B unpack 后的值,塞进来

  • 資深大佬 : tairan2006

    就是按索引处理啊…all = [[] for _ in range(10)],然后遍历 A,把 A 的元素先塞到结果数组里,遍历 B 接着塞

  • 資深大佬 : acmore

    `namedtuple` or `dataclass`?

  • 資深大佬 : ysc3839

    按照你给的代码中我发现的规律:

    data = {‘A’: [1,2,3,4], ‘B’: [5,6,7,8], ‘C’: [9,0,1,2]}
    all = [
    [{f'{k}_one’: v[0] for k, v in data.items()}, {f'{k}_other’: v[1] for k, v in data.items()}],
    [{f'{k}_one’: v[2] for k, v in data.items()}, {f'{k}_other’: v[3] for k, v in data.items()}]
    ]

  • 資深大佬 : imn1

    既然 key 固定,变化不定的只是值,那很多解决办法
    key 固定的,基本上从 sql 思维考虑就可以了,简单就 namedtuple 、csv,复杂就 pandas.DataFrame,sql 数据库
    根据数据来源采用相应方便的方案,然后导出就可以了,可以用 iter() + append

  • 資深大佬 : mizai

    用 zip 加推导式很容易就可以简化
    A = [1,2,3,4]
    B = [‘a’,’b’,’c’,’d’]
    C = [random() for i in range(4)]
    data_array = [A,B,C] # 可以添加任意长度的数据
    keys = [‘one’,’other_one’,’two’,’other_two’] # dict 的 key 值固定

    all = [dict(zip(column,data_item)) for data_item in zip(*data_array)]

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具