鱼C论坛

 找回密码
 立即注册
楼主: 新手·ing

[技术交流] Python:每日一题 23(答题领鱼币)

[复制链接]
发表于 2017-4-11 12:47:33 | 显示全部楼层
ooxx7788 发表于 2017-4-8 16:59
一行够不够简单?
就是这样估计冬雪雪冬要骂我。

和你方法一样,我咋写了那么多行
原来可以这么简化
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-11 12:50:02 | 显示全部楼层
旁门左道ゝ 发表于 2017-4-9 15:06
Python 3.5.X
windows版的python都自带Tkinter模块

这函数厉害了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-11 15:02:23 | 显示全部楼层
余欲渔 发表于 2017-4-11 12:47
和你方法一样,我咋写了那么多行
原来可以这么简化

其实我写的时候也是按你这样写的,写完以后整理才得到一行的代码的!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-22 18:03:58 From FishC Mobile | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-5-3 12:54:44 | 显示全部楼层
list1 = [1, [2], [3, 4], [[5, 6], 7], [8, [[9, [10], 11], 12], 13]]

def one(alist, res = []):
    for index, i in enumerate(alist):
        if isinstance(i, list):
            one(alist[index], res)
        else:
            res.append(i)
    return res

print(one(list1))


结果
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-6 18:28:36 | 显示全部楼层
直接当字符串处理,完全没想到··· 太狡猾了,好像在作弊···
  1. def flatting(num_lst, new_lst=[]):
  2.     # 假如是整型则不可迭代,报 TypeError,还是列表则递归
  3.     try:
  4.         for i in num_lst:
  5.             flatting(i, new_lst)
  6.     except TypeError:
  7.         new_lst.append(num_lst)
  8.     return new_lst
  9. list1 = [1, [2], [3, 4], [[5, 6], 7], [8, [[9, [10], 11], 12], 13]]
  10. flatting(list1)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-6 19:53:02 From FishC Mobile | 显示全部楼层
looklookupup
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-6 19:55:55 From FishC Mobile | 显示全部楼层
sum(list1, [])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-8 19:16:15 | 显示全部楼层
哈哈和
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-8 19:54:10 | 显示全部楼层
kankan
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-8 20:28:01 | 显示全部楼层
gopythoner 发表于 2017-4-8 22:11
来罗,看我的,曲线救国方法

你的代码可以整合成
list(eval(str(list1).replace('[','').replace(']','')))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-8 20:36:23 | 显示全部楼层

  1. list1 = [1, [2], [3, 4], [[5, 6], 7], [8, [[9, [10], 11], 12], 13]]
  2. L=[]
  3. def temp(n):
  4.     for i in n:
  5.         if type(i)==int:
  6.             L.append(i)
  7.         else:
  8.             temp(i)
  9.     return L
  10. print(temp(list1))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-15 17:27:01 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-7-15 22:42:06 | 显示全部楼层
本帖最后由 西殴 于 2017-7-15 22:43 编辑
  1. list1 = [1, [2], [3, 4], [[5, 6], 7], [8, [[9, [10], 11], 12], 13],14]
  2. list2 = []

  3. while list1:
  4.    
  5.     list1_pop = list1.pop()
  6.     try:
  7.         list1.extend(list1_pop)
  8.     except:
  9.         list2.insert(0,list1_pop)   
  10.    
  11. print(list2)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-18 19:39:21 | 显示全部楼层
  1. list1 = [1, [2], [3, 4], [[5, 6], 7], [8, [[9, [10], 11], 12], 13]]
  2. list2 = []

  3. def open_list(li):
  4.     for item in li:
  5.         if type(item) == list:
  6.             open_list(item)
  7.         else:
  8.             list2.append(item)

  9. open_list(list1)
  10. print(list2)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-20 21:21:26 | 显示全部楼层
  1. new_list = []
  2. def Multi_List_Turn_One_List(a):

  3.     if len(a) == 0:
  4.         new_list = []

  5.     for i in range(len(a)):
  6.         if type(a[i]) != list:
  7.             new_list.append(a[i])
  8.         else:
  9.             Multi_List_Turn_One_List(a[i])
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-18 14:33:23 | 显示全部楼层
array=[]
def fun(temp):
    global array
    for each in temp:
        if type(each)==int:
            array.append(each)
        else:
            fun(each)

if __name__=='__main__':
    list1 = [1, [2], [3, 4], [[5, 6], 7], [8, [[9, [10], 11], 12], 13]]
    fun(list1)
    print(array)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-18 15:10:17 | 显示全部楼层
dori233 发表于 2017-4-8 16:57
打印结果>>>['a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'a8', 'a9', 'a10']
新手, ...

干的漂亮,递归很好的解决了这个问题。虽然我也是新手。。。我更喜欢递归的方法,而且我突然从这个方法理解了递归的真谛。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-19 16:09:53 | 显示全部楼层
  1. a = [1, [2], [3, 4], [[5, 6], 7], [8, [[9, [10], 11], 12], 13]]
  2. a = str(a)
  3. a = a.replace('[','')
  4. a = a.replace(']','')
  5. a = a.replace(',','')
  6. print(a.split())
  7. print([int(i) for i in a.split()])
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-2 01:15:05 | 显示全部楼层
  1. list1 = [1, [2], [3, 4], [[5, 6], 7], [8, [[9, [10], 11], 12], 13]]


  2. newList = []
  3. def changeList(lst):
  4.     for i in lst:
  5.         if isinstance(i, list):
  6.             changeList(i)
  7.         else:
  8.             newList.append(i)
  9.     return newList

  10. print(changeList(list1))
  11.         
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 06:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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