相关疑难解决方法(0)

使用不可迭代的列表元素将列表列表分解为单个列表

参考: python分解 列表在Python 中展平浅层列表

虽然上面提到的解决方案很有帮助,但我的问题略有不同,我想知道是否有一种pythonic方法来解决它.

a = [['a-3','b-3'],'r',['j']]
Run Code Online (Sandbox Code Playgroud)

我想要的是一种让'a'等于以下的简洁方法:

a = ['a-3','b-3','r','j']
Run Code Online (Sandbox Code Playgroud)

我被困在使用python 2.4所以2.4兼容的pythonic解决方案会很棒,但我仍然会发现2.7个以上的例子也很有趣.

主要的问题是,有非迭代的元件,否则该总和(LST,[])工作得很好,因为确实为2.7+链方法

python

1
推荐指数
1
解决办法
1073
查看次数

在Python中将矩阵转换为数组

我在python中有一个数组数组.在python中将它转换为数组的最佳方法是什么?例如:

m = [[1,2],[3,4]]
# convert to [1,2,3,4]
Run Code Online (Sandbox Code Playgroud)

我是python的新手,所以我不知道它的任何解决方案比编写循环更好.请帮忙.

python

1
推荐指数
1
解决办法
287
查看次数

以递归方式展平 Python 中的不规则列表列表

我搜索并发现具有相同标题的问题也是(这里 这里 这里 这里 这里),但我不是在问那个。我遇到了这个问题:

编写一个函数来展平一个列表。该列表包含其他列表、字符串或整数。

而我的代码是

t=[]
def flatten(aList):
    for i in aList:
        if type(i) !=list:
             t.append(i)
        else:
             flatten(i)

    return t     
Run Code Online (Sandbox Code Playgroud)

但是当我检查测试用例的代码时:

  1. flatten([[1], [1]]):检查器告诉我输出是[1, 1, 1, 1]但在 codeskulptor 中我得到正确的输出是[1, 1] .
  2. flatten([[[1]], [[[5]]]]):检查器告诉输出是[1, 1, 1, 1, 1, 2, 3, 3, 2, 1, 0, 4, 5, 6, 7, 1, 5]但在 codeskulptor 中告诉[1, 5]

许多测试用例都存在这个问题。然后我在 python 导师中检查了我的代码,发现在每次t返回列表时执行 if 语句之后,最后当函数停止时它返回最后编辑的列表t

我该如何解决这个问题,请帮我解决这个问题,是的,我是 Python 新手,对 itertools、lambda 函数用法、生成器等一无所知,所以请在我能理解的上下文中告诉我。

python python-2.7

1
推荐指数
1
解决办法
5521
查看次数

是否有一个带有列表列表的函数的通用名称,并返回包含这些列表内容的单个列表?

编辑:我的问题是,原本"有没有一个标准名称,以展名单列表的功能,但只有一层深?",但查克的回答是措辞更接近我其实是想问问,所以我给它改名.不过,这三个答案对我都很有用.谢谢.

"扁平化"似乎是这需要一棵树,但是建立原子组成的列表深它们嵌套,但对于只有一个级别之后停止功能的功能广为接受的名字吗?所以((1 2)((3 4)(5 6))(7 8))"somethings"到(1 2(3 4)(5 6)7 8)."某些东西"在多种语言/库中是否有共同的名称?

这个问题的答案:

在Python中展平浅层列表

建议'链'可能是一个很好的猜测,但它是否足以成为"标准"?

naming functional-programming list

0
推荐指数
1
解决办法
178
查看次数

在另一个列表python中解压列表

假设你有一个列表:

mylist=[[1,2,3,4],[2,3,4,5],[3,4,5,6]]
Run Code Online (Sandbox Code Playgroud)

任何 pythonic(2.x) 解压内部列表的方法,以便新列表看起来像?:

mylist_n=[1,2,3,4,2,3,4,5,3,4,5,6]
Run Code Online (Sandbox Code Playgroud)

python python-2.7

0
推荐指数
2
解决办法
5290
查看次数

在 for 循环中迭代多个列表的 Pythonic 方法?

这看起来很简单,但我还没有找到一种方法来做到这一点。我有三个列表,a、b 和 c。我想遍历所有这些,就好像它们的元素完全形成一个大列表一样。我可以想到几种方法来做到这一点,但没有什么是非常流畅或“pythonic”的。我希望 splat 操作员能够工作:

for e in (*a, *b, *c):
   # do stuff with e
Run Code Online (Sandbox Code Playgroud)

但这会导致语法错误。有任何想法吗?

python iteration list

0
推荐指数
1
解决办法
3514
查看次数

-2
推荐指数
1
解决办法
116
查看次数

在for循环python中调用多个列表

我试图用python编写脚本.我需要避免重复相同的任务,并希望写入一个.

catlist1 = ['s0.05-k5-a1.0' , 's0.05-k5-a3.0' , 's0.05-k5-a7.0' , 's0.05-k5-a10.0' ]
catlist2 = ['s0.05-k7-a1.0' , 's0.05-k7-a3.0' , 's0.05-k7-a7.0' , 's0.05-k7-a10.0']

catlist3 = ['s0.07-k5-a1.0' , 's0.07-k5-a3.0' , 's0.07-k5-a7.0' , 's0.07-k5-a10.0' ]
catlist4 = ['s0.07-k7-a1.0' , 's0.07-k7-a3.0' , 's0.07-k7-a7.0' , 's0.07-k7-a10.0']

catlist = [catlist1 ,catlist2 ,catlist3 ,catlist4 ]
Run Code Online (Sandbox Code Playgroud)

我需要调用for循环中的每个列表.我在这个单循环中调用所有列表.我可以通过在catlist1中再次写入多次并在catlist2中再次写入来重复进行.我怎么能解决这个问题.谢谢

for parName in catlist:         

    category = '/home/x/Desktop/rouge/ROUGE/Experiments/' 

    for root, subFolders, files in os.walk(category + parName):
        #i = 0 
        (head, filename) = os.path.split(root)
        print filename
        #some function that is will re
Run Code Online (Sandbox Code Playgroud)

python

-3
推荐指数
1
解决办法
139
查看次数