目錄
- 正文
- 增刪改查
- 循環(huán)
- 其他的功能函數(shù)
- 元組
因為最近公司有python項目維護,所以把python的基礎入門的書整理一遍,因為有些忘記了,同時在看python編程>>這本書的時候覺得對有基礎的有很多的贅余,打算直接整理不同之處。
因為python 有2版本和3版本,如果新學的話,建議直接3版本,2版本已經不會再升級了,也就是不再維護了。
同時也規(guī)勸一句,如果是用python專門去做網站的話,那么是不建議的,因為這不是python的強項。同時也不要誤以為python動態(tài)語言性能效率就不適合做一些服務,因為有些服務性能不是一個瓶頸,可能問題在網絡一頭等。
總之一句話,py發(fā)展這么快,一個是因為社區(qū),同時也是因為python這門語言的設計上,那么就先來看下列表吧,因為太常用了。噢,如果你還不會裝python,那么直接百度吧,建議一開始直接exe安裝。
正文
在此之前呢,先介紹一個string類型,因為strign類型的介紹很簡短,那么就直接放到這一小節(jié)中。
name="jack rose";
print(name.title())
那么它會輸出,Jack Rose,這個title就是用來首字母大寫的。
看下c# 的首字母大寫:Strings.StrConv("str.str.str str_str", VbStrConv.ProperCase, System.Globalization.CultureInfo.CurrentCulture.LCID);
是的,python就是這么方便,操作數(shù)據的方便,后面你能更加感受到。
name="jack rose";
str1=name+1+"2";
print(name.title())
但是依然有值得注意的地方,在其他高級語言如python和java中是沒得問題的,但是在py中是存在問題的。
Traceback (most recent call last):
File "index.py", line 2, in module>
str1=name+1+"2";
TypeError: cannot concatenate 'str' and 'int' objects
為什么不會自動轉換呢?他們兩個對象不一樣,那么就會失敗,為啥會這樣呢?這個是涉及問題,來看下int 如果轉換為str的
和其他語言不一樣,其他語言有tostring,那么轉換的時候就會調用tostring,而py中,是一個str函數(shù),設計的不同意味著他們的寫法不同。
看下其他幾個簡單的。
name=" jack rose ";
print(name.lstrip())
lstrip 是去除左邊的空格,然后rstrip 去除右邊的空格。在此說明的不是說lstrip這個函數(shù),而是想說明,py有很多函數(shù)分為左右,如果你發(fā)現(xiàn)一個函數(shù)有從左查詢,那么一定有一個從右查詢,這就是為啥py這么方便,因為提供了太多函數(shù)。
是的,它的語義化,讓你不需要去尋找哪個函數(shù)干什么的,從英文中就能推斷出。string 到此就結束了,那么看到下本章的主要,列表。
增刪改查
首先python沒有數(shù)組,一門動態(tài)語言要啥數(shù)組呢?來看看其操作方便的列表。
name=" jack rose ";
list=['a','b','c']
print(list);
輸出:['a','b','c'],好吧這里可能有人疑問這為啥不是數(shù)組呢?你可以理解為這是一種語法。
為了證明其不是一個string數(shù)組:
list=['a','b','c']
list.append(1);
print(list);
輸出:['a', 'b', 'c', 1]
好的上述你看到了添加,那么看下插入吧。
list=['a','b','c']
list.append(1);
list.insert(0,1);
print(list);
輸出:[1, 'a', 'b', 'c', 1]
它的規(guī)則也很簡單,就是在當前位置寫入,其他的位置往后移動。
在此說明一點,我們可以像索引一樣去訪問列表。
list=['a','b','c']
print(list[0]);
輸出a。除了這樣,我們還可以list[-1],將會返回'c',而不是異常,這讓我們的計算方便很多,我們不需要去計算最后一個位置的位置。
看下刪除:
list=['a','b','c']
del list[0]
print(list);
輸出:['b', 'c']
在這里說明一下,不僅是列表這樣刪除,其他的類型也是這樣刪除的。
是的,這樣就沒有a了。
Traceback (most recent call last):
File "index.py", line 5, in module>
print(a);
NameError: name 'a' is not defined
這樣說吧,a并沒有刪除,只是刪除了a和'a'的聯(lián)系,就想指針指向一樣。
指定位置彈出:
list=['a','b','c']
list.pop();
print(list);
返回:[a,b]
那么默認是彈出最后一個位置,如果指定位置的話,比如說第一個,那么pop(0)即可。
那么如何根據值來刪除呢?
list=['a','b','c','a']
list.remove('a');
print(list);
輸出值:['b', 'c', 'a']
可以看到值刪除了一個,那么如果全部刪除呢?這個后面系列將會介紹到,也許你現(xiàn)在可以想象遍歷一下。對了有一個函數(shù)count,list.count('a')會計算a出現(xiàn)的次數(shù),而正在的計算list大小,是通過len,這個函數(shù),如len(list)
在我們編程中排序時少不了的,有臨時排序還有永久排序。臨時排序就是返回一個新的list,永久就是直接修改list,他們分別對應的函數(shù)是:
list=['b','c','d','a']
print(sorted(list));
print(list);
list.sort();
print(list);
輸出:
['a', 'b', 'c', 'd']
['b', 'c', 'd', 'a']
['a', 'b', 'c', 'd']
在此你可以知道sorted 是臨時排序,sort 是永久排序,值得總結的是:一般來說自身函數(shù)的調用是永久操作自己,而外部會創(chuàng)造另一個對象。
再舉另外一個例子:reverse,list.reverse是操作自己,而不是返回一個新對象,reversed(list);返回一個新對象。
循環(huán)
list=['b','c','d','a']
for item in list:
print(item)
循環(huán)非常的簡單,但是值得注意的是list后面需要又要給:,這是需要注意的語法。
同樣需要介紹另外一個東西,pass.
假如我們for語句什么都不做,好的,不要糾結為啥什么都不做。
那么可以這樣:
list=['b','c','d','a']
for item in list:
pass
如果沒有pass,那么將會報錯,pass 是占位語句。
其他的功能函數(shù)
前面介紹到,py操作數(shù)據是真的方便,那么如果要生成一些數(shù)據是否同樣方便?
for item in range(0,10):
print(item);
輸出:
這樣就生成了0-9。前開后閉類型的。
同樣你可以跳過一些:
for item in range(0,10,2):
print(item);
0
2
4
6
8
同樣可以進行一些統(tǒng)計:
list=range(0,10,2);
print(min(list));
print(max(list));
print(sum(list));
得到0,8,20。
給各位介紹一個神器的語法,比如你想要上面的list增加1,然后賦值給一個新的list,那么怎么寫呢?
list=range(0,10,2);
list2=[item++1 for item in list]
print(list2);
這樣就是:[1, 3, 5, 7, 9]
這里我寫的是item++1,這和我們c# item++一樣,語法不通而已。
那么如果我要復制一個list怎么辦呢?
list=range(0,10,2);
list2=list[:]
print(list2);
這樣就行。[:]是否只能用來copy呢?當然不是,它是片切的一種語法。
list=range(0,10,2);
print(list);
list2=list[1:2]
print(list2);
輸出:
獲取從1開始,到2介紹,且不包含2。
還是前開后閉原則。
除了可以填寫正數(shù),你還可以填寫負數(shù):
list=range(0,10,2);
print(list);
list2=list[-1:]
print(list2);
相信也猜到了,沒錯就是獲取最后一個。
元組
如果你希望你定下的一些數(shù)據被修改,那么你可以使用元組。
tuple=(100,200)
這樣就創(chuàng)建了一個元組,是的,把一些數(shù)據放在括號中。
元組一般用于查詢,他的函數(shù)也非常少。
到此這篇關于python基礎入門之列表(一)的文章就介紹到這了,更多相關python 列表內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Python 列表(List)操作方法詳解
- Python實現(xiàn)合并兩個列表的方法分析
- python 把列表轉化為字符串的方法
- Python統(tǒng)計列表中的重復項出現(xiàn)的次數(shù)的方法
- python提取字典key列表的方法
- Python3中列表list合并的四種方法
- Python中將字典轉換為列表的方法
- python比較兩個列表是否相等的方法
- Python將列表數(shù)據寫入文件(txt, csv,excel)
- Python中列表元素轉為數(shù)字的方法分析