python学习-字符串 列表 元祖
@(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, insert)
@append方法是在列表末尾追加新的元素。只可以一个一个地添加,如果你不想这么麻烦,请看下一种方法extend。
@extend方法是在列表末尾一次性追加另一个列表中的多个值。
@insert方法就可以在列表(list)的任何位置插入元素。
append可以向列表添加元素
extend将另一个集合中的元素逐一添加到列表中
insert在指定位置index前插入元素object
查找元素("查"in, not in, index, count)
if语句
testStr="haha nihao a \t heihei \t woshi nide \t haopengyou"
if "ha" in testStr:
print("ha")
else:
print("hwa")
删除元素("删"del, pop, remove)
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的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。
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 tuplea.index('a', 1, 4)
3a.count('b')
2a.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)
python学习-字符串 列表 元祖的更多相关文章
- python学习之列表,元祖,字典
python基础 列表 [ ] stats =[1,2,3,4,5] 元素1,2,3,4,5 下标,索引,角标,初始从0开始 增加 stats.append(7)#append方法添加 stats. ...
- python-基础-字符串-列表-元祖-字典2
接上:http://www.cnblogs.com/liu-wang/p/8973273.html 3 元组 4 字典 4.1 字典的介绍 <2>软件开发中的字典 变量info为字典类型: ...
- python学习笔记之元祖
#元祖 只读列表,可循环查询,可切片.#儿子不能改,孙子可能可以改. tu = (1,2,3,'alex',[2,3,4,'taibai'],'egon') print(tu[3]) print(tu ...
- python 中的 字符串 列表 元祖 字典
str 1 格式化输出 %法 第一种 %s+tuple %d+tuple name = input('请输入你的姓名:') age = input('请输入你的年龄:') hobby = input( ...
- Python字符串列表元祖字典的公共方法
运算符 运算符 Python 表达式 结果 描述 支持的数据类型 + [1, 2] + [3, 4] [1, 2, 3, 4] 合并 字符串.列表.元组 * 'Hi!' * 4 ['Hi!', 'Hi ...
- Python基础2 列表 元祖 字符串 字典 集合 文件操作 -DAY2
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...
- 【学习笔记】--- 老男孩学Python,day5 列表 元祖
今日主要内容1. list(增删改查) 列表可以装大量的数据. 不限制数据类型. 表示方式:[] 方括号中的每一项用逗号隔开 列表和字符串一样.也有索引和切片 常用的功能: 1. 增: append( ...
- python-基础-字符串-列表-元祖-字典
1 字符串 1.1 下标和切片 1.2 切片 1.3 字符串常见操作 如有字符串mystr = 'hello world itcast and itcastcpp',以下是常见的操作 <1> ...
- python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍
目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...
随机推荐
- node phantomjs linux 安装问题
本地为macos系统,phantomjs安装一直没问题:后来采用了phantom-pool,增加了连接池,安装也没有问题.这时候不需要安装phantom了,因为phantom-pool是依赖于phan ...
- Java中面向对象三大特性之——继承
继承的概述 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那一个类即可. 现实生活中继承:子承父业,用来描述事物之间的关系 代码中继承:就是用 ...
- day37-1 面向对象高阶
目录 面向对象高阶 isinstance issubclass 反射(自省) 模块的使用 放在类的使用 call 面向对象高阶 isinstance 判断是否为实例化对象,以后可以用来取代type 和 ...
- android keystore的生成和使用
android要求所有的程序必须有签名,否则就不会安装该程序.在我们开发过程中,adt使用debug keystore,在 preference->android->buid中设置.deb ...
- while(Thread.activeCount() > 1)
今天看到深入理解JVM第367页多线程volatile部分照着书本敲着代码发现了一个问题 Thread.activeCount()会一直大于2 public class VolatileTest { ...
- python爬虫05 | 年轻人,不会正则表达式你睡得着觉?有点出息没有?
现在 你已经会使用 python 模拟浏览器 进行一些 Http 的请求了 那么请求完之后 服务器返回给我们一堆源代码 我们可不是啥都要的啊 我们是有原则的 我们想要的东西 怎么能一股脑的啥都往自己兜 ...
- Golang - 处理字符串
目录 Golang - 处理字符串 1. 字符串操作 2. 字符串转换 Golang - 处理字符串 1. 字符串操作 func Contains(s, substr string) bool 字符串 ...
- 【2000*】【Codeforces Round #518 (Div. 1) [Thanks, Mail.Ru!] B】Multihedgehog
[链接] 我是链接,点我呀:) [题意] [题解] 找到度数为1的点. 他们显然是叶子节点. 然后每个叶子节点. 往上进行bfs. 累计他们的父亲节点的儿子的个数. 如果都满足要求那么就继续往上走. ...
- netty使用MessageToByteEncoder 自定义协议(四)
开发应用程序与应用程序之间的通信,程序之前通信 需要定义协议,比如http协议. 首先我们定义一个协议类 package com.liqiang.SimpeEcode; import java.sql ...
- 执行计划中Using filesort,Using temporary相关语句的优化解决
昨天听开发人员提到,相关的彩票网页当中一个页面刷新的很慢,特别是在提取数据的时候,今天早上一到,便去找开发人员要去相关的也没进行浏览,窥探哪些数据出现了问题,开发人员使用PHP开发,所以我用IE很容易 ...