这篇教程python基础入门之列表(一)写得很实用,希望能帮到您。 因为最近公司有python项目维护,所以把python的基础入门的书整理一遍,因为有些忘记了,同时在看<<python编程>>这本书的时候觉得对有基础的有很多的赘余,打算直接整理不同之处。 因为python 有2版本和3版本,如果新学的话,建议直接3版本,2版本已经不会再升级了,也就是不再维护了。 同时也规劝一句,如果是用python专门去做网站的话,那么是不建议的,因为这不是python的强项。同时也不要误以为python动态语言性能效率就不适合做一些服务,因为有些服务性能不是一个瓶颈,可能问题在网络一头等。 总之一句话,py发展这么快,一个是因为社区,同时也是因为python这门语言的设计上,那么就先来看下列表吧,因为太常用了。噢,如果你还不会装python,那么直接百度吧,建议一开始直接exe安装。
正文在此之前呢,先介绍一个string类型,因为strign类型的介绍很简短,那么就直接放到这一小节中。 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就是这么方便,操作数据的方便,后面你能更加感受到。 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函数,设计的不同意味着他们的写法不同。 看下其他几个简单的。 name=" jack rose ";print(name.lstrip()) lstrip 是去除左边的空格,然后rstrip 去除右边的空格。在此说明的不是说lstrip这个函数,而是想说明,py有很多函数分为左右,如果你发现一个函数有从左查询,那么一定有一个从右查询,这就是为啥py这么方便,因为提供了太多函数。 
是的,它的语义化,让你不需要去寻找哪个函数干什么的,从英文中就能推断出。string 到此就结束了,那么看到下本章的主要,列表。
增删改查首先python没有数组,一门动态语言要啥数组呢?来看看其操作方便的列表。 name=" jack rose ";list=['a','b','c']print(list); 输出:['a','b','c'],好吧这里可能有人疑问这为啥不是数组呢?你可以理解为这是一种语法。 为了证明其不是一个string数组: 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] 它的规则也很简单,就是在当前位置写入,其他的位置往后移动。 在此说明一点,我们可以像索引一样去访问列表。 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'的联系,就想指针指向一样。 指定位置弹出: 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'] 可以看到值删除了一个,那么如果全部删除呢?这个后面系列将会介绍到,也许你现在可以想象遍历一下。对了有一个函数count,list.count('a')会计算a出现的次数,而正在的计算list大小,是通过len,这个函数,如len(list) 在我们编程中排序时少不了的,有临时排序还有永久排序。临时排序就是返回一个新的list,永久就是直接修改list,他们分别对应的函数是: 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 是永久排序,值得总结的是:一般来说自身函数的调用是永久操作自己,而外部会创造另一个对象。 再举另外一个例子:reverse,list.reverse是操作自己,而不是返回一个新对象,reversed(list);返回一个新对象。
循环list=['b','c','d','a']for item in list: print(item) 循环非常的简单,但是值得注意的是list后面需要又要给:,这是需要注意的语法。 同样需要介绍另外一个东西,pass. 假如我们for语句什么都不做,好的,不要纠结为啥什么都不做。 那么可以这样: list=['b','c','d','a']for item in list: pass 如果没有pass,那么将会报错,pass 是占位语句。
其他的功能函数前面介绍到,py操作数据是真的方便,那么如果要生成一些数据是否同样方便? for item in range(0,10):print(item); 输出: 这样就生成了0-9。前开后闭类型的。 同样你可以跳过一些: for item in range(0,10,2): print(item);02468 同样可以进行一些统计: 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。 还是前开后闭原则。 除了可以填写正数,你还可以填写负数: list=range(0,10,2);print(list);list2=list[-1:]print(list2); 相信也猜到了,没错就是获取最后一个。
元组如果你希望你定下的一些数据被修改,那么你可以使用元组。 tuple=(100,200) 这样就创建了一个元组,是的,把一些数据放在括号中。 元组一般用于查询,他的函数也非常少。 
到此这篇关于python基础入门之列表(一)的文章就介绍到这了,更多相关python 列表内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net! python 虚拟环境的创建与使用方法 Python实现随机生成迷宫并自动寻路 |