python的字符串和列表

来源:互联网 发布:苹果6数据流量怎么开 编辑:程序博客网 时间:2024/06/01 19:51


字符串  

   字符串就是一系列字符,在所有语言的基本变量里可以算是最复杂的,看编程语言处理字符串的能力也反映了语言本身的强大。

其实也不要被唬住了,字符串也就那么一回事。
python里内置了很多处理字符串的方法,这些方法非常有用。
upper()
lower()
lower()函数其实非常有用,你会说,不就把字符串转化成小写吗?其实不然,在我们登陆某个账号的时候,通常会有验证码的出现,一般验证码都是不区分大小写的,对,为什么不区分大小写呐?其实就是工程师把你输入的字母全部lower()了,当然upper()也是可以的。
删除空白
还是登陆这个事,用户手抖多敲了一个空格键,如果系统提示报错,用户根本看不出输入验证码的错误,空白谁能看到啊。如果这个用户恰好是你老总,我想奖金可能离你就有点远了。所以在用户输入的字符串里还要去除空白!这就rstrip()登场了!rstrip()函数就是用来删除字符串末尾的空白的。
strip()是把字符串左右侧的空白删除
那lstrip()就是左侧的咯!
抛砖引玉,python对字符串处理的函数非常多,在用的时候可以详细看python的说明文档。

列表
python中的列表功能非常强大,可能是对比其他语言的数组的局限,才会有python中的列表。
python中列表其实就是有序的集合,可以往里放任何东西。比如:
dazahui=['weifeifan',1,'q']
只是这样的列表就不能用列表中的一些方法,比如sort(),这也很好理解,数字和字符串进行排序是完全没有意义的。
如果不知道列表中存在什么方法,就可以用help()方法,help(list),python会告诉你,list类为你提供了什么
我们常见肯定就是对列表的增删改查(这不就是SQL干的事,数据库就是一张张表嘛)
增:
append(),在列表最后加入元素。比如:
dazahui.append('2')
insert(),在任何位置加入元素,当然不能超过列表的范围。
dazahui.insert(1,"4")
删:
del 删除指定位置的元素,
del dazahui[0]
pop() 这不就是栈的pop吗?删除同时返还值,只是这个pop是能指定位置的。
dazahui.pop(1)
改:
修改相当容易,直接赋值即可
dazahui[0]=1
查:
当然更加容易了,大的列表就用循环,python中有所特别的是可以从列表的末尾开始查询
dazahui[-1]就会返回dazahui这个列表的尾元素。

列表解析:
快速建立列表,python的宗旨之一就是能简洁就简洁
numbers=[num for num in range(1,11,2)]
这样numbers=[1,3,5,7,9]了
让我们来看看常规办法,没有对比就没有伤害嘛
numbers=[]
for num in range(1,11,2):
    numbers.append(num)
虽不是很复杂,也容易阅读一些,不过一行代码能解决的事情,为什么要敲三行呐?!

切片
很多情况我们是不需要遍历整个列表的,比如运动会的前三名,比如公司里的老鸟一二三,这时候我们需要从列表中切出来一部分。
python这部分的处理和matlab相似,
比如a=[1,2,3,4,5,6,7]
我们需要[1,2,3],只需要用a[0:3]即可
还记得-1吗,从列表的末尾开始,如果你比较感兴趣班里的倒数三名都是谁,那就用a[-3:],以此类推吧
值的注意的是,切片也是我们复制列表的一种方法,举例:
a=[1,2,3]
b=a
这种情况的复制,b和a其实是同一个列表,我们如果修改b的话,a的值也同样会发生变动。为什么会这样呐?
我猜,应该是指针问题,无论是b还是a都是存储[1,2,3]单元的一个索引,就是一个房间挂了两个门牌号,其实是一个房间。
还有一种方式的复制就不同了,那就是整个切片,
b=a[:]
这种方法才是把a的值复制了一份,存储起来后给了索引b。这种b和a就不是同一个列表了。






















原创粉丝点击