欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python入門基礎(chǔ)之?dāng)?shù)字字符串與列表

 更新時間:2021年02月01日 12:06:48   作者:程序那些事  
這篇文章主要給大家介紹了關(guān)于Python入門基礎(chǔ)之?dāng)?shù)字字符串與列表的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

簡介

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

數(shù)字

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

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

In [8]: 1+1
Out[8]: 2

In [9]: 3*2 + 10
Out[9]: 16

In [10]: (65 + 23) / 4
Out[10]: 22.0

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

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

In [11]: 54 / 4
Out[11]: 13.5

In [12]: 54 // 4
Out[12]: 13

In [13]: 54 % 4
Out[13]: 2

** 可以表示乘方運(yùn)算:

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

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

In [15]: a = 12

In [16]: b = 14

In [17]: a * b
Out[17]: 168

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

In [17]: a * b
Out[17]: 168

In [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

字符串通過 + 來進(jìn)行連接,也可以使用 * 來進(jìn)行復(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]的形式來進(jìn)行訪問。

In [28]: site5 = "www.flydean.com"

In [29]: site5[3]
Out[29]: '.'

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

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

因?yàn)?0 和 0 是一樣的,所以負(fù)數(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'

切片的索引有默認(rèn)值,省略開始索引時默認(rèn)為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'

因?yàn)樽址遣豢勺兊?,所以我們不能通過索引的形式來對字符串進(jìn)行修改:

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)計(jì)字符串的長度:

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]

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

In [42]: ages[3]
Out[42]: 20

In [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] = 100

In [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)計(jì)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
[]

列表還可以進(jìn)行嵌套,構(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'

總結(jié)

到此這篇關(guān)于Python入門基礎(chǔ)之?dāng)?shù)字字符串與列表的文章就介紹到這了,更多相關(guān)Python數(shù)字字符串與列表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Python使用apscheduler定時執(zhí)行任務(wù)

    詳解Python使用apscheduler定時執(zhí)行任務(wù)

    在平常的工作中幾乎有一半的功能模塊都需要定時任務(wù)來推動,例如項(xiàng)目中有一個定時統(tǒng)計(jì)程序,定時爬出網(wǎng)站的URL程序,定時檢測釣魚網(wǎng)站的程序等等,都涉及到了關(guān)于定時任務(wù)的問題,所以就找到了python的定時任務(wù)模塊
    2022-03-03
  • 自學(xué)python用什么系統(tǒng)好

    自學(xué)python用什么系統(tǒng)好

    在本篇文章里小編給大家整理了一篇關(guān)于學(xué)python用什么系統(tǒng)好的相關(guān)文章,有興趣的朋友們可以學(xué)習(xí)下。
    2020-06-06
  • PyQT中QTableWidget如何根據(jù)單元格內(nèi)容設(shè)置自動寬度

    PyQT中QTableWidget如何根據(jù)單元格內(nèi)容設(shè)置自動寬度

    這篇文章主要介紹了PyQT中QTableWidget如何根據(jù)單元格內(nèi)容設(shè)置自動寬度問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Python內(nèi)置函數(shù)zip map filter的使用詳解

    Python內(nèi)置函數(shù)zip map filter的使用詳解

    這篇文章主要介紹了Python內(nèi)置函數(shù)zip map filter的使用,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • Python簡單幾步畫個鉆石戒指

    Python簡單幾步畫個鉆石戒指

    這篇文章主要介紹了Python簡單幾步畫個鉆石戒指,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-09-09
  • pandas中pd.groupby()的用法詳解

    pandas中pd.groupby()的用法詳解

    本文主要介紹了pandas中pd.groupby()的用法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧<BR>
    2022-06-06
  • pytho傳參kwargs及用法詳解

    pytho傳參kwargs及用法詳解

    這篇文章主要介紹了pytho傳參kwargs及用法,函數(shù)傳參的時候簡化傳參形式,無需指定參數(shù)名,本文結(jié)合實(shí)例代碼講解的非常詳細(xì),需要的朋友參考下吧
    2024-05-05
  • Pytorch實(shí)現(xiàn)邏輯回歸分類

    Pytorch實(shí)現(xiàn)邏輯回歸分類

    這篇文章主要為大家詳細(xì)介紹了Pytorch實(shí)現(xiàn)邏輯回歸分類,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 基于Python+OpenCV制作屏幕錄制工具

    基于Python+OpenCV制作屏幕錄制工具

    這篇文章主要介紹了如何利用Python?OpenCV實(shí)現(xiàn)屏幕錄制工具的制作,文中的示例代碼講解詳細(xì),對我們的學(xué)習(xí)和工作有一定的價值,感興趣的可以學(xué)習(xí)一下
    2022-01-01
  • python畫圖時linestyle,color和loc參數(shù)的設(shè)置方式

    python畫圖時linestyle,color和loc參數(shù)的設(shè)置方式

    這篇文章主要介紹了python畫圖時linestyle,color和loc參數(shù)的設(shè)置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11

最新評論