Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1735910
  • 博文数量: 636
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 3950
  • 用 户 组: 普通用户
  • 注册时间: 2014-08-06 21:58
个人简介

博客是我工作的好帮手,遇到困难就来博客找资料

文章分类

全部博文(636)

文章存档

2024年(5)

2022年(2)

2021年(4)

2020年(40)

2019年(4)

2018年(78)

2017年(213)

2016年(41)

2015年(183)

2014年(66)

我的朋友

分类: 系统运维

2018-11-20 12:16:58

1. 字符串转列表

str1 = "12345"
list1 = list(str1)
print list1
 
str2 = "123 sjhid dhi"
list2 = str2.split() #or list2 = str2.split(" ")
print list2
 
str3 = ""
list3 = str3.split(".")
print list3
 
输出为:
 
['1', '2', '3', '4', '5']
['123', 'sjhid', 'dhi']
['www', 'google', 'com']

2. 列表转字符串

str4 = "".join(list3)
print str4
str5 = ".".join(list3)
print str5
str6 = " ".join(list3)
print str6

输出为:
wwwgooglecom

www google com

1. 字符串转列表
str1 = "hi hello world"
print(str1.split(" "))
输出:
['hi', 'hello', 'world']
 
2. 列表转字符串
l = ["hi","hello","world"]
print(" ".join(l))
输出:
hi hello world

1、字符串转为列表

str1 = 'a1b2'
ls1 = [str(i) for i in str1]
 
2、列表转为字符串

ls2 = ['1','a','2','b']
str2 = ''.join(ls2)


Python实现字符串反转的几种方法

第一种:使用字符串切片
result = s[::-1]


第二种:使用列表的reverse方法
l = list(s)
result = "".join(l.reverse())

当然下面也行
l = list(s)
result = "".join(l[::-1])


第三种:使用reduce
result = reduce(lambda x,y:y+x,s)


第四种:使用递归函数
def func(s):
    if len(s) <1:
        return s
    return func(s[1:])+s[0]
result = func(s)


第五种:使用栈
def func(s):
    l = list(s) #模拟全部入栈
    result = ""
    while len(l)>0:
        result += l.pop() #模拟出栈
    return result
result = func(s)

第六种:for循环
def func(s):
    result = ""
    max_index = len(s)-1
    for index,value in enumerate(s):
        result += s[max_index-index]
    return result
result = func(s)

python反转列表的三种方式

1、内建函数reversed()

li =[1, 2, 3, 4, 5, 6]
a = list(reversed(li))
print (a)

  注意:reversed()函数返回的是一个迭代器,而不是一个List,所以需要list函数转换一下


2、内建函数sorted()

sorted()语法

sorted(iterable[, cmp[, key[, reverse]]])
参数说明:

iterable -- 可迭代对象。
cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
返回值
返回重新排序的列表。


a=[1,2,3,4,5,6,7,8,9] 
c=sorted(a, reverse=True) 
print (c)
  注意:sorted()按降序排列,对于反转内容不是顺序排列的无效果,此处待改善。


3: 使用分片

a=[1,2,3,4,5,6,7,8,9] 
d=a[::-1] 
print (d) 


python列表或字符串内容的倒置方法

第一种比较笨的方法就是用递归,把列表第一个数据移到最后一个,依次循环,直到全部被移到后面,代码如下:
def rever(a):
    if a =='':
        return a
    else:
        return rever(a[1:])+a[0]
rever("12345")
结果为:

54321

  2. 第二种最简洁,用的是切片法。只需a[::-1]就可以了,

其中第一个: 表示的是切片的区间,如果没有设定数值,默认是全部区间;

第二个:表示的是切片的步数和方向,默认为切片方向为从前向后,默认步数为1.

上面的-1,代表的就是从后向前,一次往前切一次,也就是刚好倒置列表。

测试代码如下:
b = 123456
c = str(b)
c[::-1]
结果为:

'654321'

 可以利用这种方法来判断回文数,特别简单。if c[] = c[::-1]:


3. 第三种是python的内置函数,一个是reverse函数,一个是sort函数。


reverse函数。reverse()函数将列表的内容进行了反转

借助这个特性,可以先将字符串转换成列表,利用reverse()函数进行反转后,再处理成字符串

测试代码如下:
b = 123456
c = list(str(b))
c.reverse()
print(c)
输出为:


['6', '5', '4', '3', '2', '1']
 sort函数和sorted函数。其实放在这里并不合适(因为上面全是关于倒置的,而这个是关于排序的,它会按照一定的顺序重组你的数据),不过既然这个函数是用来排序的,也一块儿说明了。
其形式如下:
sorted(iterable[,cmp[,key[,reverse]]])
list.sort(L, key=None, reverse=False) 

其中sorted函数的参数含义如下:
iterable -- 可迭代对象。

cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。

key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。

reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)

sort函数的参数含义:L代表要排序,key代表的是用于排序的比较元素,reverse同上面一致。


总体来看,sort只能用于列表的排序,效率也更快,消耗的内存较小,而且是直接对列表进行操作,所以会改变列表的原始值。

而sorted函数的可以应用于各种数据结构,范围更加广泛,不过它会调用一个新的数据结构来进行操作,不会更改原数据,所以效率会略低一点。

阅读(1735) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~