-
在Python中,list提供了一系列的方法可以讓我們操作list中的元素,其中也包含了添加元素的方法。
第一個辦法是用append()方法,把新同學追加到列表的末尾:names?=?['Alice',?'Bob',?'David',?'Ellena'] names.append('Candy') print(names)?#?==>?['Alice',?'Bob',?'David',?'Ellena',?'Candy']
注意,append()方法總是將元素添加到list的尾部。?
查看全部 -
Python的列表,除了支持正向順序索引獲取列表中的每一個元素以外,也支持倒序訪問list中的每一個元素。
names?=?['Alice',?'Bob',?'David',?'Ellena']
對于names列表,Ellena的名字排在最后,也就是我們所說的倒數第一個,在Python中,可以使用-1來表示最后一個元素。
names?=?['Alice',?'Bob',?'David',?'Ellena'] print(names[-1])?#?==>?Ellena
同樣的道理,我們可以通過-2,打印出David的名字,通過-3,打印出Bob的位置。
注意,如果我們使用-5的話,因為不存在倒數第五個名字,因此這也是一種越界,同樣會報錯。
names?=?['Alice',?'Bob',?'David',?'Ellena'] print(names[-5]) Traceback?(most?recent?call?last): ??File?"<stdin>",?line?1,?in?<module> IndexError:?list?index?out?of?range
查看全部 -
names?=?['Alice',?'Bob',?'David',?'Ellena'] print(names[0]) print(names[1]) print(names[2]) print(names[3])
由于names只有四個元素,所以我們最多只能通過索引3訪問到最后一個元素。試想一下,如果我們print(names[4]),會怎么樣?
names?=?['Alice',?'Bob',?'David',?'Ellena'] print(names[4])
事實上,這會引起Python運行的錯誤,提示索引訪問超出范圍。
Traceback?(most?recent?call?last): ??File?"<stdin>",?line?1,?in?<module> IndexError:?list?index?out?of?range
因此,我們在使用索引的方式訪問列表時,一定要特別注意不要越界。
同時,列表和字符串一樣,也支持切片,通過切片的方式,獲取到列表的子列表。names?=?['Alice',?'Bob',?'David',?'Ellena'] sub_names?=?names[0:2] print(sub_names)
這里需要注意一下,如果我們越界切片的話,不會出現Python運行錯誤,但是按照這樣的下標去切片,獲取不到任何元素。
names?=?['Alice',?'Bob',?'David',?'Ellena'] sub_names?=?names[5:10] print(sub_names)?#?==>?[]
查看全部 -
\' \“ \\ \\\ \\t \\n
查看全部 -
def sum1(num):
? ? sum = 0
? ? for i in range(0,num+1):
? ? ? ? sum = sum + i
? ? ? ? i += 1
? ? return sum
def sum2(num):
? ? if num == 0:
? ? ? ? return 0
? ? return sum1(num)
? ??
l = 2
a = sum2(l)
print(a)
查看全部 -
但是,如果字符串既包含'又包含"怎么辦?
這個時候,就需要對字符串中的某些特殊字符進行“轉義”,Python字符串用\進行轉義。
要表示字符串Bob said "I'm OK"
由于'和"會引起歧義,因此,我們在它前面插入一個\表示這是一個普通字符,不代表字符串的起始,因此,這個字符串又可以表示為'Bob said \"I\'m OK\".'
注意:轉義字符 \不計入字符串的內容中。
查看全部 -
def sub_sum(L):
? ? sumj = 0
? ? sumx = 0
? ? for num in L:
? ? ? ? if num % 2 == 0:
? ? ? ? ? ? sumj = sumj + num
? ? ? ? elif num % 2 != 0:
? ? ? ? ? ? sumx = sumx + num
? ? return sumj, sumx
? ? ? ??
k = [1,2,3,4,5,6]
result = sub_sum(k)
print(result)
print('偶數之和={}'.format(result[0]))
print('奇數之和={}'.format(result[1]))
查看全部 -
def square_of_sum(l):
? ? result = 0
? ? for num in l:
? ? ? ? result = (num * num) +result
? ? return result
? ? ? ??
q = [1,2,3]
s = square_of_sum(q)
print(s)
? ??
查看全部 -
短路計算
在計算a and b時,如果 a 是 False,則根據與運算法則,整個結果必定為 False,因此返回 a;如果 a 是 True,則整個計算結果必定取決與 b,因此返回 b。
在計算a or b時,如果 a 是 True,則根據或運算法則,整個計算結果必定為 True,因此返回 a;如果 a 是 False,則整個計算結果必定取決于 b,因此返回 b。
查看全部 -
與運算
只有兩個布爾值都為 True 時,計算結果才為 True。
或運算
只要有一個布爾值為 True,計算結果就是 True。
非運算
把True變為False,或者把False變為True:
not計算的優先級是高于and和or的。查看全部 -
Python把0、空字符串和None看成False,其他數值和非空字符串都看成True
查看全部 -
not計算優先于and和or
查看全部 -
hellopathon
helloworld
查看全部 -
a=3.14
b=1.57
result=a*b
round(result,2)
查看全部
舉報