Python字符串,列表

字符串:
字符串的创建:
单引号, 双引号 ,三引号 <注意: 转义字符的使用>
字符串的特殊性:
索引 切片 连接 重复 成员操作符(in, not in)

字符串的常用方法:
1). 判断字符串的类型(isdigit, isspace, isupper,islower ......)
2). 字符串开头结尾的判断(endwith,startwith)
endwith -- 多用于查找指定的文件格式(.log, .png......)
startwith -- 所用于判断使用的协议(http://, https://, ftp://)
3). 去除空格(left,middle,right)
lstrip #去除左边空格
replace (" ", "") # 使用replace函数间接替换中间的空格
rstrip #去除右边空格
strip #去除左右两边空格
4).居中 , 居左, 居右
center
ljust
rjust

    5). 切片
    split()
    6). 连接
    join()

内置函数:
cmp max min enumerate zip sum len abs

数值,字符串是不可变数据类型: 列表是可变数据类型

测试练习:
2017-好未来-笔试编程题

  • 题目描述:
    输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”
  • 输入描述:
    每个测试输入包含2个字符串
  • 输出描述:
    输出删除后的字符串
  • 示例1:
输入
    They are students.
    aeiou
输出
Thy r stdnts.
#!/usr/bin/env python
#coding:utf-8
s1 = raw_input ("please input your first string:")
s2 = raw_input ("please input your second string:")
for i in s2:
    s1=s1.replace(i,"")
else:
    print s1

测试结果:

2017-小米-句子反转

  • 题目描述:

    给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello”

  • 输入描述:

    输入数据有多组,每组占一行,包含一个句子(句子长度小于1000个字符)

  • 输出描述:

    对于每个测试示例,要求输出句子中单词反转后形成的句子

  • 示例1:
- 输入
    hello xiao mi
- 输出
    mi xiao hello

#!/usr/bin/env python
#coding:utf-8
print " ".join(raw_input("please in put your first string:").split()[::-1])

测试结果:
![](http://i2.51cto.com/images/blog/201803/18/d07ff4e4a83878f51f96ccfb1c4ada48.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

华为测试:
题目描述:输入一行字符串,分别统计出包含英文字母,空格,数字和其他字符的个数

#!/usr/bin/env python
#coding:utf-8
s = raw_input("请输入字符:")

al_count, space_count, num_count, other_count = 0, 0, 0, 0

for i in s:
if i.isalpha():
al_count += 1
elif i.isspace():
space_count += 1
elif i.isdigit():
num_count += 1
else:
other_count += 1

print "英文字母个数:%d\n空格个数:%d\n数字个数:%d\n其他字符个数:%d" % (
al_count, space_count, num_count, other_count)

测试结果:
![](http://i2.51cto.com/images/blog/201803/18/a7fe6d2648487416412ad7562770f7d4.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

枚举,zip

#!/usr/bin/env python
#coding:utf-8
s = "hello"
for i in range(len(s)):
print i,s[i]

测试结果:
![](http://i2.51cto.com/images/blog/201803/18/6265339f9db37d71ce9d78bd435b4ce9.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

enumerate内置函数枚举;
![](http://i2.51cto.com/images/blog/201803/18/1ac49d6feccfad85077d3bf1a037189f.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

zip内置函数;
![](http://i2.51cto.com/images/blog/201803/18/2b39e4c9cbaa96c517666afb227ec486.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

List 列表
列表特性:

#!/usr/bin/env python
#coding:utf-8
array = [1, 2, 3, 4, 5, 6, 7]
li = [1, 1.0, 1L, "hello", 1 + 3j]

#索引:正向索引和反向索引片

print li[::-1]


#重复

print li * 3


#连接

print array + li


#成员操作符

print 1 in li
print 1 not in li


结果输出:
![](http://i2.51cto.com/images/blog/201803/18/ba67f09d4cf8ddb63e4637d06d1f1db0.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

列表增删查改

#!/usr/bin/env python
#coding:utf-8
allow_ip = [‘172.25.254.91‘, ‘172.25.254.2‘, ‘172.25.254.14‘, ‘172.25.254.32‘]

# 增
#append追加元素到列表的最后;

#allow_ip.append(‘172.25.254.6‘)
#print allow_ip


#insert将元素添加到指定索引的前面;

#allow_ip.insert(1,‘172.25.254.34‘)
#print allow_ip


#extend是追加多个元素到列表中;

#allow1_ip = [‘172.25.254.56‘, ‘172.25.254.66‘]
#allow_ip.extend(allow1_ip)
#print allow_ip


#改
#给列表的指定索引重新赋值;

#allow_ip[0] = ‘172.25.254.11‘
#print allow_ip


#查
#显示指定元素出现的次数;

#print allow_ip.count(‘172.25.254.1‘)


#显示指定元素的索引值;如果出现多个,显示小的那个索引;如果元素不存在,报错,ValueError;

#print allow_ip.index(‘172.25.254.1‘)


#删
#pop是删除指定索引的值;如果列表为空或者索引不在范围内,则报错; 如果不指定索引值,默认删除最后一个元素;
#allow_ip.
#删除列表中最先出现的值,不存在,则报错;

#allow_ip.remove(‘172.25.254.1‘)
#print allow_ip


#反转列表

#allow_ip.reverse()


#列表排序

allow_ip.sort()
print allow_ip


测试练习:
多用户登陆系统:
        1). 已知多个用户名和密码;
        2). 判断用户名是否存在,
                如果登陆的用户不存在,则报错, 清注册用户;
                如果用户存在, 则判断密码是否正确:
                    如果正确, 输出用户登陆成功;
                    如果不正确, 输出登陆失败;

#!/usr/bin/env python
#coding:utf-8
import getpass

users = [‘user1‘, ‘user2‘, ‘user3‘]
passwds = [‘123‘, ‘456‘, ‘123‘]

inuser = raw_input("用户名:")
inpass = getpass.getpass("密码:")

#if 用户是否存在(成员操作符):
if inuser in users:
index = users.index(inuser)
passwd = passwds[index]
if passwd == inpass:
print "%s登陆成功....." %(inuser)

##1).找出用户名的索引值
##2).取出对应用户名的密码
##3).判断是否一致
#if 密码正确:
    #pass
else:
    print "密码不正确..."

else:
print "%s 不存在,清注册....." %(inuser)


测试结果:
因为导入getpass。在测试时必须用终端进行。
![](http://i2.51cto.com/images/blog/201803/18/2783a8fae766bf49e8261718bfe51e25.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

测试练习:
批量生成学号:
学号前4位为1705
    依次有三个学院:电子工程学院(01), 软件学院(02), 商学院(03)
    每个学院有200人;
#!/usr/bin/env python
#coding:utf-8
for i in  [‘01‘, ‘02‘, ‘03‘]:
    for j in range(1,201):
        print "1705%s%.3d" %(i,j)

原文地址:http://blog.51cto.com/12183531/2088217

时间: 2024-08-01 06:27:36

Python字符串,列表的相关文章

Python -- 字符串 列表 元组 字典

小Q浪花有意千重雪桃李无言一队春一壶酒一竿纶世上如侬有几人.  ---李煜<渔歌子> --------------------------------------------------------------------------------------- 序列  是Python中最基本的数据结构.序列中每一个元素的位置都有其对应数字编码或索引比如第一个元素的编码是0第二个元素的索引是1............. 序列中可进行的操作索引.切片.加.乘.检查成员另外的长度.最大最小值等内建函

python字符串列表字典相互转换

字符串转换成字典 json越来越流行,通过python获取到json格式的字符串后,可以通过eval函数转换成dict格式: >>> a='{"name":"yct","age":10}' >>> eval(a) {'age': 10, 'name': 'yct'} 支持字符串和数字,其余格式的好像不支持: 字符串转换成列表和元组 使用list >>>a='1234' >>>

python 字符串,列表,元组,字典相互转换

1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} 字典转为字符串,返回:<type 'str'> {'age': 7, 'name': 'Zara', 'class': 'First'} print type(str(dict)), str(dict) 字典能够转为元组,返回:('age', 'name', 'class') print tuple(dict) #字典能够转为元组,返回:(7, 'Zara', 'First') p

python 字符串列表的连接

strList = ["Python", "is", "good"] res = ' '.join(strList) #Python is good res = '' for s in strList: res += s + ' ' #Python is good #最后还有个多余空格

python字符串与列表的相互转换

1.字符串转列表 2.列表转字符串 1. 字符串转列表 s ='hello python !'li = s.split(' ') #注意:引号内有空格print (li)输出:['hello', 'python', '!'] 2. 列表转字符串 li = ['hello', 'python', '!'] s = ' '.join(li) #注意:引号内有空格 print(s) 输出: hello python ! 原文地址:https://www.cnblogs.com/hokky/p/8440

python数组列表、字典、拷贝、字符串

python中字符串方法 1 name = "I teased at life as if it were a foolish game" 2 print(name.capitalize())#首字母大写 3 print(name.count("a"))#查找字符串中a的个数 4 print(name.center(50,"-"))#长度为50将name放中间不够的用-补全 5 print(name.endswith("ex"

Python 字符串——巧取值和列表——巧取值 对比

Python 字符串——巧取值和列表——巧取值 对比 1.字符串取值实例: samp_string = "Whatever you are, be a good one." for i in samp_string: print(i) for i in range(0,len(samp_string)-2,2): print(samp_string[i]+samp_string[i+1]) print('A=',ord("A")) print('65=',chr(6

python字符串和列表之间相互转换

python字符串转化成列表,用split()方法, a='ab,cd,ef'print(a.split(',')) 列表转化为字符串,用join()方法. 1 a=['a','b'] 2 print(''.join(a)) 总结:字符串的一些常见内置函数还是要掌握牢固. 原文地址:https://www.cnblogs.com/lic0326/p/10970015.html

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的列表,元组和字典简单介绍

引 入 java                                   python 存取多个值:数组或list集合 ------------------------> 列表,元组 key-value格式:    Map        ------------------------>    字典 自己学习发现,java跟python这两门面向对象语言在数据类型的定义上,很多思想都是互通的,这里不说java,简单介绍一下python的列表,元组和字典. 一.列表 List: 最通