python---字符串、列表、元组

一、字符串
1.判断子串
判断一个sub字符串是不是属于s字符串:
[root@desktop31 ~]# python
>>> s = 'redhat'
>>> 'a' in s
True
>>> 'red' in s
True
>>> 'rel' in s
False
>>> 'a' not in s
False

2.重复、连接及计算长度
[root@desktop31 ~]# python
>>> print '==='*10
==============================
>>> print 'hello'+'world'
helloworld
>>> print 'hello'+' world'
hello world
>>> s = 'hello world'
>>> len(s)
11

3.字符串的类型转换
str(obj) 将其他类型内容转换为字符串
int(obj) 将字符串转换为为整数
float(obj) 将字符串转换为浮点型
long(obj) 将字符串转换为长整型

4.字符串常用操作
str.capitalize()    ##将字符串首字母大写,并返回新的首字母大写后的字符串;
>>> s = 'hello'
>>> s.capitalize()
'Hello'

str.center(width[,fillchar])    ##返回一个长为width的新字符串,在新字符串中原字符居中,其他部分用fillchar指定的符号填充,未指定时通过空格填充。
>>> s.center(20,'#')
'#######hello########'
>>> "welcome to user manage system".center(50,'*')
'**********welcome to user manage system***********'

str.count(sub[, start[, end]]) -> int    ##返回sub在str中出现的次数,如果start与end指定,则返回指定范围内的sub出现次数。
>>> "colord:x:995:992:User for colord:/var/lib/colord:/sbin/nologin".count('colord')
3

str.endswith(suffix[, start[, end]])    ##判断字符串是否以suffix结束,如果start和end指定,则返回str中指定范围内str子串是否以suffix结尾,如果是,返回True;否则返回False
str.startswith(prefix[, start[, end]])
>>> "colord:x:995:992:User for colord:/var/lib/colord:/sbin/nologin".endswith('sbin')
False
>>> "colord:x:995:992:User for colord:/var/lib/colord:/sbin/nologin".startswith('sbin')
False
>>> "colord:x:995:992:User for colord:/var/lib/colord:/sbin/nologin".endswith('nologin')
True
>>> "colord:x:995:992:User for colord:/var/lib/colord:/sbin/nologin".startswith('colord')
True

str.isalnum()     ##判断是否都是字母或数字
>>> "w4_".isalnum()
False
>>> "w4".isalnum()
True

str.isalpha()     ##判断是否都是字母
>>> "w4".isalpha()
False
>>> "wgfgd".isalpha()
True

str.isdigit()     ##判断是否都是数字
>>> "w4".isdigit()
False
>>> "2144".isdigit()
True

str.islower()     ##判断是否都是小写
>>> "wgfgd".islower()
True
>>> "wgfGd".islower()
False

str.isspace()     ##判断是否都是英文空格
>>> "".isspace()
False
>>> " ".isspace()
True

str.istitle()     ##判断是不是都是标题(首字母大小写)
>>> "hello".istitle()
False
>>> "Hello".istitle()
True

str.isupper()     ##判断是不是都为大写字母
>>> "Hello".isupper()
False
>>> "HELLO".isupper()
True

str.replace(old,new[,count])    ##将str中的old字符串替换为new字符串,并将替换后的新字符串返回,如果count指定,则只替换前count个字符串
>>> "colord:x:995:992:User for colord:/var/lib/colord:/sbin/nologin".replace('colord','redhat')
'redhat:x:995:992:User for redhat:/var/lib/redhat:/sbin/nologin'

tr.split([sep[,maxsplit]])    ##以sep字符串作为分割符对str进行切割,默认为空格,maxsplit代表切割的此处
>>> ip = '172.25.254.31'
>>> ip.split('.')
['172', '25', '254', '31']

str.swapcase()        ##大小写替换
>>> 'hEllO'.swapcase()
'HeLLo'

####### 例子 #######
1.检测变量名是否定义正确
#!/usr/bin/env python
#coding:utf-8

import string
alphas = string.letters + '_'
nums = string.digits
print "欢迎进入变量名检测系统V1.0".center(50,'#')
print 'Test string must be at least 1 char long'
variable = raw_input("输入检测的变量名:")
if len(variable) > 0:
    if variable[0] not in alphas:
        print '变量名必须为字母或下划线开头!!!'
    else:
        for ochar in variable[1:]:
            if ochar not in alphas + nums:
                print '无效的变量名!!!'
                exit(1)
        print '%s 变量名合法!!!' % variable
else:
    print '变量名长度必须大于0!!!'

2.要求用户输入一个英语句子,统计该英文句子中含有单词的数目
#!/usr/bin/env python
#coding:utf-8

str = raw_input("please input a english sentence:")
str1 = str.split()
print len(str1)

二、列表
1.列表的定义
定义一个空列表
li = []


定义一个包含元素的列表,元素可以是任意类型,包括数值类型,列表,字符串等均可。

li = ["linux",3,"redhat"]

2.列表的索引

下标是从0开始计算,比如
list[0]读取的是列表的第1个元素

list[-1]读取的是列表的倒数第1个元素



3.列表的切片
li[0:3:2]

4.列表的添加
列表可通过append方法添加单个元素
li.append("hello")
列表可通过extend方法添加多个元素
li.extend(['westos','haha'])
在指定位置添加元素使用inert方法
li.insert(0,'world')


5.列表的修改
修改列表的元素:直接重新赋值
li[0]='hello'

6.列表的查看
查看某个列表元素的下标用index方法
li.index('linux')
查看某个列表元素出现的次数用count方法
li.count('hello')

7.列表的删除
删除单个元素
li.remove('hello')
li.remove(li[1])


删除整个列表

del(li)

####### 例子 #######

编写一个stack.py,要求:输入O时出栈,输入U时入栈,输入V时查看栈的元素,输入Q时退出
#!/usr/bin/env python
stack = []
print """
welcome to stack manage
p(U)sh
p(O)p
(V)iew
(Q)uit
"""
pro = "Enter choice:"
while True:
    choice = raw_input(pro).lower()
    if choice == 'u':
        item = raw_input("new item:")
        stack.append(item)
    elif choice == 'o':
        if len(stack) == 0:
            print "can not pop from empty stack!"
        else:
            print "%s pop from stack!" % stack.pop()
    elif choice == 'v':
        print stack
    elif choice == 'q':
        print "quit stack manage!"
        exit(0)
    else:
        print "please input u|o|v|q!"

三、元组
1.元组的定义
定义空元组
t = ()
定义单个值的元组
t = (1,)
一般的元组
t = (1,2,3,4)

2.元组特性

不能对元组的值任意更改


对元组分别赋值,引申对多个变量也可通过元组方式分别赋值
name,age,grade=("tom",16,89)

3.元组的操作

元组也属于序列,可执行的操作如下:索引、切片、重复、连接和查看长度



4.删除元组



####### 例子 #######
要求用户输入一个英语句子,统计该英文句子中含有单词的数目和词的种类
#!/usr/bin/env python
str = raw_input("please input a english sentence:")
str1 = str.split()
print len(str1)
a = set(str1)

print len(a)


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值