1. 程式人生 > >mooc-python語言程式設計練習6-組合資料型別

mooc-python語言程式設計練習6-組合資料型別

1.‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬# 0039003100390031003874 關於Python組合資料型別,以下描述錯誤的是:‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

A Python的字串、元組和列表型別都屬於序列型別

B 組合資料型別能夠將多個相同型別或不同型別的資料組織起來,通過單一的表示使資料操作更有序、更容易

C 組合資料型別可以分為3類:序列型別、集合型別和對映型別

D 序列型別是二維元素向量,元素之間存在先後關係,通過序號訪問

 正確答案: D 

 

序列型別總體上可以看成一維向量,如果其元素都是序列,則可被當作二維向量。

 

2.‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬# 0039003100390031003877 關於Python的元組型別,以下選項錯誤的是:‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

A 元組中元素必須是相同型別

B 元組一旦建立就不能被修改

C 一個元組可以作為另一個元組的元素,可以採用多級索引獲取資訊

D 元組採用逗號和圓括號(可選)來表示

 正確答案: A 

 

序列型別(元組、列表)中元素都可以是不同型別。

 

3.‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬# 0039003100390031003878 關於大括號{},以下描述正確的是:‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

A 直接使用{}將生成一個集合型別

B 直接使用{}將生成一個字典型別

C 直接使用{}將生成一個元組型別

D 直接使用{}將生成一個列表型別

 正確答案: B 

 

集合型別和字典型別最外側都用{}表示,不同在於,集合型別元素是普通元素,字典型別元素是鍵值對。

字典在程式設計中非常常用,因此,直接採用{}預設生成一個空字典。

 

4.‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬# 0039003100390031003879

哪個選項是下面程式碼的輸出結果?‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

d= {'a': 1, 'b': 2, 'b': '3'}
print(d['b'])

A 1 

B 2

C {'b':2}

D 3

 正確答案: D 

 

建立字典時,如果相同鍵對應不同值,字典採用最後(最新)一個"鍵值對"。

 

5.‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬# 0039003100390031003881 S和T是兩個集合,哪個選項對S^T的描述是正確的?‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

A S和T的並運算,包括在集合S和T中的所有元素

B S和T的交運算,包括同時在集合S和T中的元素

C S和T的差運算,包括在集合S但不在T中的元素

D S和T的補運算,包括集合S和T中的非相同元素

 正確答案: D 

 

集合"交併差補"四種運算分別對應的運算子是:& | - ^

 

6.‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬# 0039003100390031003883 以下不是Python序列型別的是:‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

A 列表型別

B 字串型別

C 元組型別

D 陣列型別

 正確答案: D 

 

Python內建資料型別中沒有陣列型別。

 

7.‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬# 0039003100390031003885 序列s,哪個選項對s.index(x)的描述是正確的?‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

A 返回序列s中序號為x的元素

B 返回序列s中x的長度

C 返回序列s中元素x所有出現位置的序號

D 返回序列s中元素x第一次出現的序號

 正確答案: D 

 

注意:s.index(x)返回第一次出現x的序號,並不返回全部序號。

 

8.‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬# 0039003100390031003886 列表ls,哪個選項對ls.append(x)的描述是正確的?‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

A 向ls中增加元素,如果x是一個列表,則可以同時增加多個元素

B 替換列表ls最後一個元素為x

C 向列表ls最前面增加一個元素x

D 只能向列表ls最後增加一個元素x

 正確答案: D 

 

ls.append(x),如果x是一個列表,則該列表作為一個元素增加的ls中。

 

9.‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬# 0039003100390031003887 給定字典d,哪個選項對d.values()的描述是正確的?‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

A 返回一種dict_values型別,包括字典d中所有值

B 返回一個集合型別,包括字典d中所有值

C 返回一個列表型別,包括字典d中所有值

D 返回一個元組型別,包括字典d中所有值

 正確答案: A 

 

執行如下程式碼:(其中d是一個預定義的字典)

d={"a":1, "b":2}
type(d.values())

輸出結果是:<class 'dict_values'>

d.values()返回的是dict_values型別,這個型別通常與for..in組合使用。

 

10.‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬# 0039003100390031003888 給定字典d,哪個選項對x in d的描述是正確的?‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

A x是一個二元元組,判斷x是否是字典d中的鍵值對

B 判斷x是否是在字典d中以鍵或值方式存在

C 判斷x是否是字典d中的鍵

D 判斷x是否是字典d中的值

 正確答案: C 

 

鍵是值的序號,也是字典中值的索引方式。

因此,x in d 中的x被當作d中的序號進行判斷。