112年檢察事務官三等程式語言

三、請寫出下列 Python 程式的執行結果為何?(20分)

    112年檢察事務官三等程式語言第三題

答:

def swap(x, y):

    temp = x

    x = y

    y = temp

x = 2

y = 3

swap(x, y)

print(x, y)

print( )

l1 = [1, 2, 3, 4, 5]

l2 = [6, 5, 4, 3, 2]

l3 = [False, False, True, False, True]

print([a if condition else b for a, b, condition in zip(l1, l2, l3)])

print( )

import numpy as np

arr = np.array(l1)

newarr = arr[arr % 2 == 0]

print(newarr)

print( )

import pandas as pd

data = {

        'A':[1, 2, 3],

        'B':[4, 5, 6],

        'C':[7, 8, 9]}

df = pd.DataFrame(data)

df['add'] = df.apply(np.sum, axis = 1)

print(df)

執行結果:

2 3

 

[6, 5, 3, 3, 5]

 

[2 4]

 

   A  B  C  add

0  1  4  7   12

1  2  5  8   15

2  3  6  9   18

說明:

1.這行程式碼只是簡單地輸出一個空行,作為兩段輸出之間的分隔。

print( )

2.這裡定義了三個列表:

l1 = [1, 2, 3, 4, 5]

l2 = [6, 5, 4, 3, 2]

l3 = [False, False, True, False, True]

  l1 是一個整數列表。

  l2 是另一個整數列表。

  l3 是一個布林值列表。

3.這行程式碼是程式的核心。它使用了一個名為列表生成式的 Python 功能,與此同時,還利用了 zip 函數來結合三個列表的元素。

print([a if condition else b for a, b, condition in zip(l1, l2, l3)])

  (1)zip(l1, l2, l3) 將三個列表 l1l2,和 l3 合併成一個新的可迭代對象,其中每一項是一個三元組,包含來自 l1l2,和 l3 的對應元素。

  (2)列表生成式逐一遍歷這些三元組。對於每一個三元組,它會根據 condition (即來自 l3 的布林值) 決定是否選擇 a (即來自 l1 的值) b (即來自 l2 的值)

  (3)如果 condition True,則選擇 a

  (4)如果 condition False,則選擇 b

4.結果是一個新的列表,它根據 l3 中的布林值選擇了 l1 l2 中的元素。

5.所以,給定這些列表的值,輸出會是 [6, 5, 3, 3, 5]。這是因為只有第三和第五 項的 condition True`,所以它們分別選擇了 l1 中的35。其他項目都選擇了 l2 中的值。

6.使用 NumPy 進行陣列操作:

print( )

import numpy as np

arr = np.array(l1)

newarr = arr[arr % 2 == 0]

print(newarr)

  輸入 NumPy 庫並建立一個陣列 arr

  使用布林索引來選擇所有偶數元素。

  輸出結果為 [2, 4]

7.使用 pandas 建立 DataFrame 並進行操作:

print( )

import pandas as pd

data = {

        'A':[1, 2, 3],

        'B':[4, 5, 6],

        'C':[7, 8, 9]}

df = pd.DataFrame(data)

df['add'] = df.apply(np.sum, axis = 1)

print(df)

  (1)輸入 pandas 函式庫並建立一個 DataFrame df

  (2)使用 apply 函數沿著 axis = 1 (行方向) 對每一行的資料進行求和操作。

  (3)將結果增加到新的 add 列。

  (4)輸出的 DataFrame 如下:

   A  B  C  add

0  1  4  7   12

1  2  5  8   15

2  3  6  9   18

 

 

arrow
arrow
    文章標籤
    檢察事務官三等程式語言
    全站熱搜
    創作者介紹
    創作者 jacksaleok 的頭像
    jacksaleok

    國考資訊處理工作室(高考二級資訊處理/高考三級資訊處理/調查局三等/關務人員三等/地方特考三等)

    jacksaleok 發表在 痞客邦 留言(0) 人氣()