日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

Python基础之:数字字符串和列表

發(fā)布時間:2024/2/28 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python基础之:数字字符串和列表 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

  • 簡介
  • 數(shù)字
  • 字符串
  • 字符串對象str
  • 列表

簡介

Python的主要應(yīng)用是進行科學(xué)計算,科學(xué)計算的基礎(chǔ)就是數(shù)字,字符串和列表。本文將會詳細的給大家介紹一下這三個數(shù)據(jù)類型的使用情況。

數(shù)字

數(shù)字是任何科學(xué)計算中非常中要的類型,在Python中最常見的數(shù)字類型就是int和float。

看幾個基本的數(shù)字操作:

In [8]: 1+1 Out[8]: 2In [9]: 3*2 + 10 Out[9]: 16In [10]: (65 + 23) / 4 Out[10]: 22.0

上面我們可以看到,沒有小數(shù)的是int類型,帶有小數(shù)的是float類型。

除法運算 (/) 永遠返回浮點數(shù)類型。如果要做 floor division得到一個整數(shù)結(jié)果(忽略小數(shù)部分)你可以使用 // 運算符;如果要計算余數(shù),可以使用 %

In [11]: 54 / 4 Out[11]: 13.5In [12]: 54 // 4 Out[12]: 13In [13]: 54 % 4 Out[13]: 2

** 可以表示乘方運算:

In [14]: 4 ** 3 Out[14]: 64

我們可以將數(shù)字的運算賦值給特定的變量,并且可以使用該變量進行后續(xù)的運算。

In [15]: a = 12In [16]: b = 14In [17]: a * b Out[17]: 168

在交互式環(huán)境中,_表示上一個輸出:

In [17]: a * b Out[17]: 168In [18]: 100 + _ Out[18]: 268

除了int和float,Python還支持其他的數(shù)據(jù)類型,比如Decimal和Fraction,甚至還支持復(fù)數(shù)。

字符串

Python中字符串有三種表示形式,可以使用單引號,雙引號和三引號來表示。

In [19]: site1 = 'www.flydean.com'In [20]: site2= "www.flydean.com"In [21]: site3= """www.flydean.com"""

三引號主要用于跨行輸出,字符串中的回車換行會自動包含到字符串中,如果不想包含,在行尾添加一個 \ 即可。如下:

print("""\ Usage: thingy [OPTIONS]-h Display this usage message-H hostname Hostname to connect to """)

如果需要轉(zhuǎn)義的話,可以使用反斜杠 \

In [22]: site4 = "www.\"flydean\".com"In [23]: site4 Out[23]: 'www."flydean".com'

如果你不希望前置了 \ 的字符轉(zhuǎn)義成特殊字符,可以使用 原始字符串 方式,在引號前添加 r 即可:

In [24]: print(r"www.\"flydean\".com") www.\"flydean\".com

字符串通過 + 來進行連接,也可以使用 * 來進行復(fù)制:

In [25]: "www" + "flydean.com" Out[25]: 'wwwflydean.com'In [26]: "www.flydean.com" * 3 Out[26]: 'www.flydean.comwww.flydean.comwww.flydean.com'

相鄰的兩個或多個 字符串字面值 (引號引起來的字符)將會自動連接到一起.

In [27]: "www" "flydean.com" Out[27]: 'wwwflydean.com'

注意,上面的自動連接操作,只能對兩個字面量有效,如果是變量的話則會報錯。

字符串會被看做是由字符組成的數(shù)組,所以可以通過string[index]的形式來進行訪問。

In [28]: site5 = "www.flydean.com"In [29]: site5[3] Out[29]: '.'

如果索引是負數(shù)的話,會從右邊開始計數(shù):

In [30]: site5[-3] Out[30]: 'c'

因為-0 和 0 是一樣的,所以負數(shù)是從 -1 開始的。

除了索引,字符串還支持 切片。索引可以得到單個字符,而 切片 可以獲取子字符串:

In [31]: site5[1:5] Out[31]: 'ww.f'

注意切片的開始總是被包括在結(jié)果中,而結(jié)束不被包括。這使得 s[:i] + s[i:] 總是等于 s

In [33]: site5[:4]+site5[4:] Out[33]: 'www.flydean.com'

切片的索引有默認值,省略開始索引時默認為0。

如果索引超出了字符串的范圍就會發(fā)送越界錯誤。

In [34]: site5[100] --------------------------------------------------------------------------- IndexError Traceback (most recent call last) <ipython-input-34-fc1f475f725b> in <module>() ----> 1 site5[100]IndexError: string index out of range

但是,切片中的越界索引會被自動處理:

In [36]: site5[:100] Out[36]: 'www.flydean.com'

因為字符串是不可變的,所以我們不能通過索引的形式來對字符串進行修改:

In [37]: site[2] = "A" --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-37-9147d44bd80c> in <module>() ----> 1 site[2] = "A"TypeError: 'str' object does not support item assignment

len用來統(tǒng)計字符串的長度:

In [38]: len(site5) Out[38]: 15

字符串對象str

字符串的本質(zhì)是字符串對象str。

可以看下str的基本方法:

In [39]: site5.capitalize() encode() format() isalpha() islower() istitle() lower() replace() rpartition() splitlines() title()casefold() endswith() format_map() isdecimal() isnumeric() isupper() lstrip() rfind() rsplit() startswith() translate()center() expandtabs() index() isdigit() isprintable() join() maketrans() rindex() rstrip() strip() upper()count() find() isalnum() isidentifier() isspace() ljust() partition() rjust() split() swapcase() zfill()

感興趣的同學(xué)可以自行去研究。

列表

列表是用方括號表示的數(shù)據(jù)的集合。列表中的數(shù)據(jù)可以是多種數(shù)據(jù)類型,但是一般情況下,我們在一個列表中使用同一個數(shù)據(jù)類型。

In [40]: ages = [ 10, 14, 18, 20 ,25]In [41]: ages Out[41]: [10, 14, 18, 20, 25]

和字符串一樣,列表也支持索引和切片。事實上,只要是 sequence 類型的數(shù)據(jù)類型,都支持索引和切片。

In [42]: ages[3] Out[42]: 20In [43]: ages[:2] Out[43]: [10, 14]In [44]: ages[:] Out[44]: [10, 14, 18, 20, 25]

注意,列表的切片會返回一個新的列表。但是這個新的列表是淺拷貝,意味著新列表的元素是原列表中元素的引用。

列表還支持拼接操作:

In [45]: ages + [9, 11] Out[45]: [10, 14, 18, 20, 25, 9, 11]

和String的不可變性不同,列表是可變的,這就意味著我們可以通過索引來修改列表的值:

In [46]: ages[0] = 100In [47]: ages Out[47]: [100, 14, 18, 20, 25]

列表的底層類型是list,我們可以看下list中的方法:

In [51]: ages.append() count() insert() reverse()clear() extend() pop() sort()copy() index() remove()

我們可以使用append來附加list的值,也可以使用count來統(tǒng)計list的元素個數(shù)等等。

上面我們提到了,列表的切片是原列表的引用,所以我們可以通過給切片賦值,來修改原始列表的值:

>>> letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] >>> letters ['a', 'b', 'c', 'd', 'e', 'f', 'g'] >>> # replace some values >>> letters[2:5] = ['C', 'D', 'E'] >>> letters ['a', 'b', 'C', 'D', 'E', 'f', 'g'] >>> # now remove them >>> letters[2:5] = [] >>> letters ['a', 'b', 'f', 'g'] >>> # clear the list by replacing all the elements with an empty list >>> letters[:] = [] >>> letters []

列表還可以進行嵌套,構(gòu)建多層的列表:

>>> a = ['a', 'b', 'c'] >>> n = [1, 2, 3] >>> x = [a, n] >>> x [['a', 'b', 'c'], [1, 2, 3]] >>> x[0] ['a', 'b', 'c'] >>> x[0][1] 'b'

本文已收錄于 http://www.flydean.com/03-python-number-list-string/

最通俗的解讀,最深刻的干貨,最簡潔的教程,眾多你不知道的小技巧等你來發(fā)現(xiàn)!

歡迎關(guān)注我的公眾號:「程序那些事」,懂技術(shù),更懂你!

總結(jié)

以上是生活随笔為你收集整理的Python基础之:数字字符串和列表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。