余欲渔 发表于 2017-4-11 12:47:33

ooxx7788 发表于 2017-4-8 16:59
一行够不够简单?
就是这样估计冬雪雪冬要骂我。

和你方法一样,我咋写了那么多行{:5_104:}
原来可以这么简化

余欲渔 发表于 2017-4-11 12:50:02

旁门左道ゝ 发表于 2017-4-9 15:06
Python 3.5.X
windows版的python都自带Tkinter模块

这函数厉害了

ooxx7788 发表于 2017-4-11 15:02:23

余欲渔 发表于 2017-4-11 12:47
和你方法一样,我咋写了那么多行
原来可以这么简化

其实我写的时候也是按你这样写的,写完以后整理才得到一行的代码的!

关灯看书 发表于 2017-4-22 18:03:58

看看

技术部-李宁 发表于 2017-5-3 12:54:44

list1 = , , [, 7], , 11], 12], 13]]

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

print(one(list1))


结果

solomonxian 发表于 2017-6-6 18:28:36

直接当字符串处理,完全没想到··· 太狡猾了,好像在作弊···{:10_266:}
def flatting(num_lst, new_lst=[]):
    # 假如是整型则不可迭代,报 TypeError,还是列表则递归
    try:
      for i in num_lst:
            flatting(i, new_lst)
    except TypeError:
      new_lst.append(num_lst)
    return new_lst
list1 = , , [, 7], , 11], 12], 13]]
flatting(list1)

花寺情僧 发表于 2017-6-6 19:53:02

looklookupup

花寺情僧 发表于 2017-6-6 19:55:55

sum(list1, [])

饭神 发表于 2017-6-8 19:16:15

哈哈和

瓦蓝 发表于 2017-6-8 19:54:10

kankan

瓦蓝 发表于 2017-6-8 20:28:01

gopythoner 发表于 2017-4-8 22:11
来罗,看我的,曲线救国方法




你的代码可以整合成
list(eval(str(list1).replace('[','').replace(']','')))

哨子1122 发表于 2017-6-8 20:36:23


list1 = , , [, 7], , 11], 12], 13]]
L=[]
def temp(n):
    for i in n:
      if type(i)==int:
            L.append(i)
      else:
            temp(i)
    return L
print(temp(list1))

qianlixiaozhuoz 发表于 2017-7-15 17:27:01

{:10_243:}

西殴 发表于 2017-7-15 22:42:06

本帖最后由 西殴 于 2017-7-15 22:43 编辑

list1 = , , [, 7], , 11], 12], 13],14]
list2 = []

while list1:
   
    list1_pop = list1.pop()
    try:
      list1.extend(list1_pop)
    except:
      list2.insert(0,list1_pop)   
   
print(list2)

renze 发表于 2017-9-18 19:39:21

list1 = , , [, 7], , 11], 12], 13]]
list2 = []

def open_list(li):
    for item in li:
      if type(item) == list:
            open_list(item)
      else:
            list2.append(item)

open_list(list1)
print(list2)

gausser 发表于 2017-9-20 21:21:26

new_list = []
def Multi_List_Turn_One_List(a):

    if len(a) == 0:
      new_list = []

    for i in range(len(a)):
      if type(a) != list:
            new_list.append(a)
      else:
            Multi_List_Turn_One_List(a)

朔夜 发表于 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 = , , [, 7], , 11], 12], 13]]
    fun(list1)
    print(array)

colinshi 发表于 2017-10-18 15:10:17

dori233 发表于 2017-4-8 16:57
打印结果>>>['a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'a8', 'a9', 'a10']
新手, ...

干的漂亮,递归很好的解决了这个问题。虽然我也是新手。。。我更喜欢递归的方法,而且我突然从这个方法理解了递归的真谛。

石小龙 发表于 2017-11-19 16:09:53

a = , , [, 7], , 11], 12], 13]]
a = str(a)
a = a.replace('[','')
a = a.replace(']','')
a = a.replace(',','')
print(a.split())
print()

shigure_takimi 发表于 2017-12-2 01:15:05

list1 = , , [, 7], , 11], 12], 13]]


newList = []
def changeList(lst):
    for i in lst:
      if isinstance(i, list):
            changeList(i)
      else:
            newList.append(i)
    return newList

print(changeList(list1))
      
页: 1 [2] 3 4 5
查看完整版本: Python:每日一题 23(答题领鱼币)