찾다

 >  Q&A  >  본문

python2.x如何列表推导二维数组?

>>> a = [[1, 2, 3], [4, 5, 6]]
>>> b = [x for x in i for i in a]
>>> b
[1, 1, 2, 2, 3, 3]
>>> c = [x for x in i for i in a] 
>>> c
[4, 4, 5, 5, 6, 6]
  1. 如何解释上面代码的运行结果?
    一般的得到的结果是[4, 4, 5, 5, 6, 6],但是偶然会得到[1, 1, 2, 2, 3, 3],这是为什么呢?

  2. 如何把[[1, 2, 3], [4, 5, 6]]用列表推导成[1,2,3,4,5,6]的形式?

伊谢尔伦伊谢尔伦2803일 전926

모든 응답(3)나는 대답할 것이다

  • 迷茫

    迷茫2017-04-17 15:16:04

    b = [x for x in i for i in a] 내 통역사에서는 작동하지 않습니다.

    목록을 사용하여 [[1, 2, 3], [4, 5, 6]]을 [1,2,3,4,5,6] 형식으로 추론하는 방법은 무엇인가요?

    으아악

    flatten 스택 오버플로에 대한 자세한 논의가 있습니다. 위의 방법이 가장 빠른 것으로 나타났습니다.

    회신하다
    0
  • 高洛峰

    高洛峰2017-04-17 15:16:04

    으아악

    더 간단한 방법은 생각나지 않았어요.

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-04-17 15:16:04

    [5]에서: b = [x for i in a for x in i]

    [6]번: b
    아웃[6]: [1, 2, 3, 4, 5, 6]

    삼국지
    [7]에서: aa = [[[1], [2], [3]], [[4], [5], [6]]]
    [8]에서: b = [y for i in aa for x in i for y in x]

    [9]에서: b
    아웃[9]: [1, 2, 3, 4, 5, 6]

    회신하다
    0
  • 취소회신하다