@(B5 python)[python]

Python翻转字符串(reverse string)

简单的步长为-1, 即字符串的翻转(常用)

def reverse1():
    s=input("请输入需要反转的内容:")
    return s[::-1]
reverse1()
def reverse2(s):
    if s=="":
        return s
    else:
        return reverse2(s[1:])+s[0]
s=reverse2("sidfmawsmdisd是当面问")
print(s)

递归反转

借用列表,使用reverse()方法

l=['a', 'b', 'c', 'd']
 l.reverse()

index

跟find()方法一样,只不过如果str不在 mystr中会报一个异常.

mystr.index(str, start=0, end=len(mystr))

name="hello word ha ha"
print(name.index("h"))

split 切片 mystr

空白字符:空格、tab、换行、回车以及formfee
当不给split函数传递任何参数时,分隔符sep会采用任意形式的空白字符:空格、tab、换行、回车以及formfeed。maxsplit参数表明要分割得到的list长度。

Python split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串
语法
split()方法语法:
str.split(str="", num=string.count(str)).
参数
str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num -- 分割次数。
返回值
返回分割后的字符串列表。
name="hello word ha ha"
s=name.split(" ",2)
print(s[0])
print(s[1])

capitalize

mystr.capitalize()

title

a = "hello itcast"
a.title()
'Hello Itcast'

startswith

检查字符串是否是以 obj 开头, 是则返回 True,否则返回 False
mystr.startswith(obj)

endswith

检查字符串是否以obj结束,如果是返回True,否则返回 False.

mystr.endswith(obj)

lower

转换 mystr 中所有大写字符为小写

mystr.lower()

upper

转换 mystr 中的小写字母为大写

mystr.upper()

列表的常见操作

@append方法是在列表末尾追加新的元素。只可以一个一个地添加,如果你不想这么麻烦,请看下一种方法extend。

@extend方法是在列表末尾一次性追加另一个列表中的多个值。

@insert方法就可以在列表(list)的任何位置插入元素。

append可以向列表添加元素

extend将另一个集合中的元素逐一添加到列表中

insert在指定位置index前插入元素object

if语句

testStr="haha nihao a \t heihei \t  woshi nide \t haopengyou"
if "ha" in testStr:
    print("ha")
else:
    print("hwa")

for i in range(5)

a = ['a', 'b', 'c', 'a', 'b']
for i in range(5):
    print(a)

两个间比较

a = ['a', 'b', 'c', 'a', 'b']
for i in a:
    print(i)

列表的嵌套

#!/usr/bin/env python
# -*- coding:  utf-8 -*-
schoolNames = [['北京大学','清华大学'],['南开大学','天津大学','天津师范大学'],['山东大学','中国海洋大学']]
print(schoolNames[0])

Impl
一个学校,有3个办公室,现在有5位老师等待工位的分配,请编写程序,完成随机的分配

#!/usr/bin/env python
#encoding=utf-8
import random
offices =[[],[],[]]
names=['a','b','c','d','e']
i=0
for name in names:
    index=random.randint(0,2)
    offices[index].append(name)
i=1
for tempNames in offices:
    print('办公室%d的人数为%d'%(i,len(tempNames)))
    i+=1
    for name in tempNames:
        print("%s"%name,end='')
        print("\n")
        print("-"*20)

办公室1的人数为3
b


d


e


办公室2的人数为1
c


办公室3的人数为1
a


元祖

元祖的创建

tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d";

创建空元组
tup1 = ();
元组中只包含一个元素时,需要在元素后面添加逗号
tup1 = (50,);
元组与字符串类似,下标索引从0开始,可以进行截取,组合等。

Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。
python学习-字符串 列表 元祖
python学习-字符串 列表 元祖

a = ('a', 'b', 'c', 'a', 'b')
a.index('a', 1, 3) # 注意是左闭右开区间
Traceback (most recent call last):
File "", line 1, in
ValueError: tuple.index(x): x not in tuple
a.index('a', 1, 4)
3
a.count('b')
2
a.count('d')
0

修改元组

元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,
元组中只包含一个元素时,需要在元素后面添加逗号

#!/usr/bin/env python
#encoding=utf-8
a = (1,'a')
b=('1',)
a=a+b
print(a)
print(b)

删除元组

#!/usr/bin/python

tup = ('physics', 'chemistry', 1997, 2000);

print tup;
del tup;
print "After deleting tup : "
print tup;

以上实例元组被删除后,输出变量会有异常信息,输出如下所示:
('physics', 'chemistry', 1997, 2000)
After deleting tup :
Traceback (most recent call last):
File "test.py", line 9, in
print tup;
NameError: name 'tup' is not defined

对于不可变的元组(tuple)是不是真的不可以改变呢?
如果你使用了元组这个东西,然而你又想在某个地方改变它,怎么办呢?

#!/usr/bin/env python
#encoding=utf-8
tup = ('physics', 'chemistry', 1997, 2000);
list_=list(tup)
list_.insert(1, 122)
tup=tuple(list_)
print(tup)

相关文章:

  • 2021-06-17
  • 2022-12-23
  • 2021-06-18
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-07
  • 2022-12-23
猜你喜欢
  • 2021-06-28
  • 2021-12-02
  • 2021-11-27
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案