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的

a=str(1)
print(a)

和其他语言不一样,其他语言有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='a';
del a;
print(a);

是的,这样就没有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
1
2
3
4
5
6
7
8
9

这样就生成了0-9。前开后闭类型的。

同样你可以跳过一些:

for item in range(0,10,2):
    print(item);

0
2
4
6
8

同样可以进行一些统计:

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);

输出:

[0, 2, 4, 6, 8]
[2]

获取从1开始,到2介绍,且不包含2。

还是前开后闭原则。

除了可以填写正数,你还可以填写负数:

list=range(0,10,2);
print(list);
list2=list[-1:]
print(list2);

相信也猜到了,没错就是获取最后一个。

元组

如果你希望你定下的一些数据被修改,那么你可以使用元组。

tuple=(100,200)

这样就创建了一个元组,是的,把一些数据放在括号中。

元组一般用于查询,他的函数也非常少。

到此这篇关于python基础入门之列表(一)的文章就介绍到这了,更多相关python 列表内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python中将字典转换为列表的方法

    说明:列表不可以转换为字典 ①转换后的列表为无序列表 a = {'a' : 1, 'b': 2, 'c' : 3} #字典中的key转换为列表 key_value = list(a.keys()) print('字典中的key转换为列表:', key_value) #字典中的value转换为列表 value_list = list(a.values()) print('字典中的value转换为列表:', value_list) 运行结果: ②转换后的列表为有序列表 import collecti

  • Python统计列表中的重复项出现的次数的方法

    本文实例展示了Python统计列表中的重复项出现的次数的方法,是一个很实用的功能,适合Python初学者学习借鉴.具体方法如下: 对一个列表,比如[1,2,2,2,2,3,3,3,4,4,4,4],现在我们需要统计这个列表里的重复项,并且重复了几次也要统计出来. 方法1: mylist = [1,2,2,2,2,3,3,3,4,4,4,4] myset = set(mylist) #myset是另外一个列表,里面的内容是mylist里面的无重复 项 for item in myset: prin

  • python 把列表转化为字符串的方法

    如下所示: >>> list1=['ak','uk',4] >>> list2=[str(i) for i in list1] #使用列表推导式把列表中的单个元素全部转化为str类型 >>> list2 #查看转化后的列表 ['ak', 'uk', '4'] >>> list3=' '.join(list2) #把列表中的元素放在空串中,元素间用空格隔开 >>> list3 #查看生成的长串 'ak uk 4' 用p

  • Python 列表(List)操作方法详解

    列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型.列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推.Python有6个序列的内置类型,但最常见的是列表和元组.序列都可以进行的操作包括索引,切片,加,乘,检查成员.此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法. 一.创建一个列表只要把逗号分隔的不同的数据项使用方括号括起来即可.如下所示: 复制代码 代码如下: list1

  • Python3中列表list合并的四种方法

    下面是[列表]合并的4种方法,其中的代码都在Python3下测试通过,在Python2下运行应该也没问题,时间关系就没测试,有任何问题欢迎给我留言. 方法1: 直接使用"+"号合并列表 | aList ``= [``1``,``2``,``3``] bList ``= [``'www'``, ``'pythontab.com'``] cList ``= aList ``+ bList dList ``= bList ``+ aList print``(cList) print``(dL

  • Python实现合并两个列表的方法分析

    本文实例讲述了Python实现合并两个列表的方法.分享给大家供大家参考,具体如下: 浏览博客看到一个问题:如何合并两个列表,今天就来探讨一下. 方法一 最原始,最笨的方法,分别从两个列表中取出所有的元素,再放入新列表中就OK了.示例代码如下: list1 = [1,2,3] list2 = [4,5,6] list_new = [] for item in list1: list_new.append(item) for item in list2: list_new.append(item)

  • python比较两个列表是否相等的方法

    本文实例讲述了python比较两个列表是否相等的方法.分享给大家供大家参考.具体如下: 这里演示了 == 和 is两种方法的区别: L1 = [1, ('a', 3)] # same value, unique objects L2 = [1, ('a', 3)] print L1 == L2, L1 is L2 # equivalent?, same object? 运行结果如下: True False 希望本文所述对大家的Python程序设计有所帮助.

  • Python将列表数据写入文件(txt, csv,excel)

    写入txt文件 def text_save(filename, data):#filename为写入CSV文件的路径,data为要写入数据列表. file = open(filename,'a') for i in range(len(data)): s = str(data[i]).replace('[','').replace(']','')#去除[],这两行按数据不同,可以选择 s = s.replace("'",'').replace(',','') +'\n' #去除单引号,

  • Python中列表元素转为数字的方法分析

    本文实例讲述了Python中列表元素转为数字的方法.分享给大家供大家参考,具体如下: 有一个数字字符的列表: numbers = ['1', '5', '10', '8'] 想要把每个元素转换为数字: numbers = [1, 5, 10, 8] 用一个循环来解决: new_numbers = []; for n in numbers: new_numbers.append(int(n)); numbers = new_numbers; 有没有更简单的语句可以做到呢? 1. numbers =

  • python提取字典key列表的方法

    本文实例讲述了python提取字典key列表的方法.分享给大家供大家参考.具体如下: 这段代码可以把字典的所有key输出为一个数组 d2 = {'spam': 2, 'ham': 1, 'eggs': 3} # make a dictionary print d2 # order is scrambled print d2.keys() # create a new list of my keys 希望本文所述对大家的Python程序设计有所帮助.

随机推荐