1. 程式人生 > >python陣列過濾,輸出滿足條件的元素,例如python輸出一維矩陣中的非0元素

python陣列過濾,輸出滿足條件的元素,例如python輸出一維矩陣中的非0元素

1.python輸出一維矩陣或numpy陣列中的非0元素

import numpy as np
a = np.mat([[0,1,0,1,2,3,4,0]])
b = np.array([0,1,0,1,2,3,4,0])
print a[a>0] # []裡面是不等式成立的情況
print b[(b>0) & (b < 3)]

輸出結果:
[[1 1 2 3 4]]
[1 1 2]

2.但是列表不行:

import numpy as np
a = np.mat([[0,1,0,1,2,3,4,0]])
b = a.tolist() #把矩陣轉換為列表
print a[a>0
] print b #print b[b>0] #這一句是錯誤的

輸出結果:
[[1 1 2 3 4]]
[[0, 1, 0, 1, 2, 3, 4, 0]]

3.另外,直接對二維矩陣(numpy陣列)輸出也是不行的:

import numpy as np
a = np.mat([[0,1,0,1,2,3,4,0],[1,2,0,1,0]])
b = np.array([[0,1,0,1,2,3,4,0],[1,2,0,1,0]])
print a[a>0]
print b[b>0]

輸出結果:
[[[0, 1, 0, 1, 2, 3, 4, 0] [1, 2, 0, 1, 0]]]
[[0, 1, 0, 1, 2, 3, 4, 0] [1, 2, 0, 1, 0]]

相關推薦

python陣列過濾輸出滿足條件元素例如python輸出矩陣中的非0元素

1.python輸出一維矩陣或numpy陣列中的非0元素 import numpy as np a = np.mat([[0,1,0,1,2,3,4,0]]) b = np.array([0,1,0,1,2,3,4,0]) print a[a>0]

【左神算法課】子數組最大差值小於某閾值滿足條件的子數組個數

isempty all turn main .com color 子數組 sys ems 題目描述:    解法思路:   本題其實是滑動窗口的變形。主體思路為:   1.從第一個元素開始依次向後遍歷,同時維護兩個窗口(由於要同時操作窗口的頭部和尾部,故采用雙端隊

編寫一個程序求出200到300之間的數滿足條件:它們三個數字之積為42三個數字之和為12

clas system print gpo 變量 輸出 滿足 定義 post //定義變量ge、shi、bai,用於存放個位、十位、百位上的數字 int number=0; //使用for循環 for(nu

ORACLE因為字符集不同進行中文條件查詢查詢結果為空

查詢 數據服務 span code oracl 字符串 客戶 not null lec 在使用C#進行SQL語言或者ASP.NET進行ORACLE數據查詢;當查詢條件有中文存在時,因為數據服務端和客戶端/本機的字符集不同,數據表存在數據,但查詢不出來數據。但使用連接Orac

個數據庫查詢方法(可以動態設定查詢引數設定查詢條件很巧妙的組合sql語句

public <T> QueryResult<T> getScrollData(Class<T> entityClass,String wherejpql,Object[] queryParams,   int firstindex, in

數組中元素反向[::-1]

a20 nump 沒有 arange sha https http pytho href [::-1] 數組中元素反向 覺得有用的話,歡迎一起討論相互學習~Follow Me 一維數組反向[::-1] import numpy as np a = np.arange(8)

如果求矩陣中非元素的平均值?類似mean()函式

一般來說mean(A) 是最常用的對一個矩陣或者陣列求平均的函式。 對於A = [1 2 ; 3 4 ; 5 6] 這種無零元素的陣列求值正常, 比如mean(A(:,1))=3 但是如果矩陣中有零,而只想得到非零的那些分量的平均,比如 AA = [1 2 ; 3 4 ; 5 6 ; 0 0], 如果還是用

領口要求真的高/三數之和 給定一個包含 n 個整數的陣列 nums判斷 nums 中是否存在三個元素 abc 使得 a + b + c = 0 ?找出所有滿足條件且不重複的三元組。 注意:答

import itertools from functools import reduce l=[] l1=[-1,0,1,2,-1,-4] m=list(itertools.combinations(l1,3)) #為了拿出所有的三元組 數學組合

LeetCode 15題 : 給定一個包含 n 個整數的陣列 nums判斷 nums 中是否存在三個元素 abc 使得 a + b + c = 0 ?找出所有滿足條件且不重複的三元組。

import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class Test15CorrectSolution { public static void m

給定一個包含 n 個整數的陣列 nums判斷 nums 中是否存在三個元素 abc 使得 a + b + c = 0 ?找出所有滿足條件且不重複的三元組

例如, 給定陣列 nums = [-1, 0, 1, 2, -1, -4], 滿足要求的三元組集合為: [ [-1, 0, 1], [-1, -1, 2] ] 解題思路: 開始採取遍歷陣列方式然後判斷遍歷的三個數的索引是否相同再做相加判斷

python 筆記(變量輸入輸出條件語句循環語句)

python python3 1.2 break 分享 場景 過程 表達式 一個 首先了解   python支持一下幾種運算符:   算術運算符:      賦值運算符:      復合賦值運算符:    變量   簡單的說,變量就是編程中最基本的存儲單位,變量會暫時性存儲

滿足條件的全部字串條件:長度為n且它的每一個字元都屬於陣列s

#include<stdio.h> int main(){ void prin(char s[],int n,int sign,char *p); char s[3] = {'A','B','C'}; int n; scanf("%d",&

c++ 查詢容器中不滿足條件元素返回iterator(find_if_not)

  #include <iostream> // std::cout #include <algorithm> // std::find_if_not #include <array> // std::array using n

大資料之scala() --- 安裝scala簡單語法介紹條件表示式輸入和輸出迴圈函式過程lazy 異常陣列

一、安裝和執行Scala解釋程式 --------------------------------------------- 1.下載scala-2.11.7.msi 2.管理員執行--安裝 3.進入scala/bin,找到scala.bat,管理員執行,進入scala命

Python陣列取一個或幾個元素值的例子word[0:2]從第0個字元到第2個字元(不包括第2個字元)

 https://docs.python.org/3/tutorial/introduction.html#strings >>> word = 'Python' >>> word[0] # character in position 0 'P'

判斷兩個陣列中是否有相同的元素有就輸出“有”沒有就輸出“沒有”

#include<stdio.h> int main() {     int arr1[] = { 1, 56, 3, 4,78};     int arr2[] = { 5, 6, 7, 8, 9,11 };      int i;     int j;  

定義個數組,陣列初始長度由控制檯獲取 。隨後手動給陣列中每個元素賦值,陣列滿後將陣列長度擴充二倍並輸出,清空陣列中所有元素且值繼承陣列長度並重新進行手動新增元素,無限死迴圈直至輸出-0後結束程式。

package com.tedu; import java.util.Arrays; import java.util.Scanner; /** * 需求: * 定義一個初始陣列,陣列初始長度由控制檯獲取 * 隨後手動給陣列中每個元素賦值,陣列滿後將陣列長度擴充二倍輸

例題:建立一個物件陣列內放5個學生的資料(學號、成績)用指標指向陣列元素輸出第1,3,5個學生的資料。【面向物件設計】

題目: 建立一個物件陣列,內放5個學生的資料(學號、成績),用指標指向陣列首元素,輸出第1,3,5個學生的資料。 解答:  程式程式碼如下: #include <iostream>

PYthon 從numpy陣列去除重複元素行或列

data = np.array([[1,8,3,3,4], [1,8,9,9,4], [1,8,3,3,4]]) #刪除整個陣列的重複元素 uniques = np.unique(data) print( un

第六章:三種方法輸出陣列元素陣列輸出方式

1使用陣列名和下標 #include<iostream> using namespace std; int main() { int a[10]={1,2,3,4,5,6,7,8,9,10}; for(int i=0;i<10;i++) cout<&