-
tuple的元素也可以是tuple,請判斷以下定義T的元素中,有多少個tuple。
T = ((1+2), ?((1+2),), ('a'+'b'), (1, ), (1,2,3,4,5))
參考答案:
3個
第一個元素(1+2),第三個元素('a'+'b'),計算的結果分別是數字3和字符串ab,不是tuple。查看全部 -
要定義只有一個元素的tuple,需要在元素后面添加一個逗號,
查看全部 -
因為()既可以表示tuple,又可以作為括號表示運算時的優先級,結果(1)被Python解釋器計算出結果 1,導致我們得到的不是tuple,而是整數 1
查看全部 -
由于tuple一旦定義之后便不可修改,所以在實際編程中,tuple經常用于存放固定不變的數據。
因此在使用上,tuple提供了便捷的方法可以訪問tuple中的數據。count()方法
count()方法用來統計tuple中某個元素出現的次數。
T = (1, 1, 2, 2, 3, 3, 1, 3, 5, 7, 9)
print(T.count(1)) # ==> 3
print(T.count(5)) # ==> 1對于不存在的元素,count方法不會報錯,而是返回0,這是合理的,因為元組里面有0個不存在的元素。
T = (1, 1, 2, 2, 3, 3, 1, 3, 5, 7, 9)
print(T.count(10)) # ==> 0index()方法
index()方法可以返回指定元素的下標,當一個元素多次重復出現時,則返回第一次出現的下標位置。
T = (1, 1, 2, 2, 3, 3, 1, 3, 5, 7, 9)
T.index(9) # ==> 10
T.index(5) # ==> 8
T.index(1) # ==> 0 # 多次出現,返回第一次出現的位置注意,index()方法和count()方法不一樣,當指定的元素不存在時,使用index()方法Python會報錯。
T = (1, 1, 2, 2, 3, 3, 1, 3, 5, 7, 9)
T.index(100)
# 報錯
Traceback (most recent call last):
? File "<stdin>", line 1, in <module>
ValueError: tuple.index(x): x not in tuple查看全部 -
元組(tuple)和list一樣,也是一個有序容器,在元組中,同樣可以包含0個或者多個元素,并且也支持索引訪問、切片等操作。
定義元組的方式是使用小括號()將元組內的元素括起來。T = ('Alice', 'Bob', 'Candy', 'David', 'Ellena')
# 通過下標的方式訪問元素
print(T[0]) # ==> Alice
print(T[4]) # ==> Ellena
# 切片
print(T[1:3]) # ==> ('Bob', 'Candy')元組數據類型可以把不是元組的容器轉換為元組,比如將列表轉換成元組。
L = ['Alice', 'Bob', 'Candy', 'David', 'Ellena']
print(L) # ==> ['Alice', 'Bob', 'Candy', 'David', 'Ellena']
T = tuple(L)
print(T) # ==> ('Alice', 'Bob', 'Candy', 'David', 'Ellena')同樣的,對于列表數據類型,也可以把元組轉換成列表。
T = ('Alice', 'Bob', 'Candy', 'David', 'Ellena')
print(T) # ==> ('Alice', 'Bob', 'Candy', 'David', 'Ellena')
L = list(T)
print(L) # ==> ['Alice', 'Bob', 'Candy', 'David', 'Ellena']但是,tuple和list不一樣的是,tuple是固定不變的,一旦變成tuple,tuple中的每一個元素都不可被改變,同時也不能再往tuple中添加數據,而list是可以的。
T = ('Alice', 'Bob', 'Candy', 'David', 'Ellena')
# 替換元素
T[1] = 'Boby'
# 報錯
Traceback (most recent call last):
?File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment請注意,元組(tuple)的這個特性是非常重要的,在運行上tuple的性能是list的數倍
查看全部 -
if 條件語句最后有一個冒號:
查看全部 -
Python代碼規范中,一般使用4個空格作為縮進
查看全部 -
coding: utf-8
查看全部 -
Unicode通常用兩個字節表示一個字符, 原有的ASCII從單字節變成雙字節,高字節位全部填0.?
查看全部 -
8個bit作為一個byte, 一個字節最大的整數就是二進制255。
查看全部 -
計算機只能處理數字,如果要處理文本,就必須先把文本轉換成為數字才能處理。
查看全部 -
如果一個字符串包含很多需要轉義的字符,對每一個字符都進行轉義會很麻煩。為了避免這種情況,我們可以在字符串前面加個前綴r,表示這是一個?raw?字符串,里面的字符就不需要轉義了。例如:
r'\(~_~)/ \(~_~)/'
但是r'...'表示法不能表示多行字符串,也不能表示包含'和?"的字符串。
如果要表示多行字符串,可以用'''...'''表示
查看全部 -
Python中Raw字符串與多行字符串 r'...' or r'''....''', r'...'中無法操作多行字符串,也不能包括''或“”
查看全部 -
轉義字符不計入字符串的內容中。
\n 表示換行
\t 表示一個制表位
\\表示\字符本身
查看全部 -
>>>range(10) ? ? ? ?# 從 0 開始到 10[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> range(1, 11) ? ? # 從 1 開始到 11[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]>>> range(0, 30, 5) ?# 步長為 5[0, 5, 10, 15, 20, 25]>>> range(0, 10, 3) ?# 步長為 3[0, 3, 6, 9]>>> range(0, -10, -1) # 負數[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]>>> range(0)[]>>> range(1, 0)[]>>x = 'runoob'>>> for i in range(len(x)) : ... ? ? print(x[i])... runoob
查看全部
舉報