python 列表中保留所有字符串前三项,并保存到一个新的列表
l = [s[:3] for s in data]


python 在列表中查找包含所以某个字符串的项,并保存到一个新的列表
l = [s for s in data if 'FF' in s]
# 两个list的差集,并集和交集
https://blog.csdn.net/liao392781/article/details/80577483
方法一:
list1 = ['a','b','c']
list3 = list1
list2 = ['a']
for i in list2:
list3.remove(i) list3
Out[7]: ['b', 'c']
方法二:
list3 = list(set(list1) - set(list2))



#列表相除、列表相加
import numpy as np
a=[1,2]
#1、得到列表 <class 'list'>
b=[i/2 for i in a];print(b)
#2、得到<class 'numpy.ndarray'>
b=np.array(a)/2;print(b) #多个列表加减,用numpy
c=np.array(a)+np.array(b)*2
print(c) #不同长度数据放到一起,用numpy和pandas都不太好处理
#用list则比较好处理
a=[]
a.append([1,2])
a.append([2,3,4,5,5])
pd.DataFrame(a) #判断元素个数
#发现pandas和numpy都不好处理
[1,2,3,1,2,'a','b','a'].count('a') 得到'a'出现个数

 #求两个list差集、交集和并集 http://www.jb51.net/article/56980.htm
 a = [1,2,3]; b = [2,3,4] #想要的结果是[1] [4] [2,3] [1,2,3,4]
 aa=[i for i in a if i not in b] #[1]
 bb=[i for i in b if i not in a] #[4]
 cc=[i for i in a if i in b] #[2,3]
 a.extend(b); a[-1:-1]=b; a[0:0]=b; a[1:1]=b #可以插到不同位置,再去重

#简单的list去重

a=[1,2,3,2,4,3,1]

a=list(set(a)) #set(a):{1,2,3,4}   a:[1,2,3,4]#python list遍历时同时跟踪正在被处理的元素索引

my_list=['a','b','c']
for idx,val in enumerate(my_list):
  print(idx,val)
#可以再结合Series.index[idx]得到索引名称,用loc[Series.index[idx],columns_name]选取指定位置值 #替换 replace
‘abcd'.replace('a','x') #将‘a'替换为‘x’ 结果'xbcd' #合并拼接字符串
parts=['is','chicago','not','chicago?']
' '.join(parts)
',',join(parts)
''.join(parts) #字符串截取
string.split('key') #string在key地方截为两段 #用index()方法在列表中查找值
spam=['hello','hi','howdy','heyas']
spam.index('hello') #0 #append() insert() remove() 是列表方法
#注意得到新的list就是append和insert后的,不用赋值
#列表被当场修改
spam.append('moose')
spam.insert(1,'chicken')
spam.remove('hello') #如果该值出现多次,只有第一次出现值会被删除 #sort() 将列表中的值排序
sort()方法当场对列表排序 不能对既有数字又有字符串值的列表排序
sort()方法对字符串排序时, 使用“ASCII 字符顺序”, 而不是实际的字
典顺序。这意味着大写字母排在小写字母之前。因此在排序时, 小写的 a 在大写的
Z 之后。 如果需要按照普通的字典顺序来排序, 就在 sort()方法调用时, 将关键字参数
key 设置为 str.lower。
spam.sort(reverse=True)
spam=['a','z','A','Z']
spam.sort(key=str.lower) #['a', 'A', 'z', 'Z'] #如果元组中只有一个值, 你可以在括号内该值的后面跟上一个逗号, 表明这种
情况。 否则, Python 将认为, 你只是在一个普通括号内输入了一个值。逗号告诉
Python, 这是一个元组(不像其他编程语言, Python 接受列表或元组中最后表项后
面跟的逗号)。在交互式环境中, 输入以下的 type()函数调用, 看看它们的区别:
>>> type(('hello',))
<class 'tuple'>
>>> type(('hello'))
<class 'str'> #用 list()和 tuple()函数来转换类型 变量包含对列表值的引用, 而不是列表值本身。但对于字符串和整数值, 变量
就包含了字符串或整数值。在变量必须保存可变数据类型的值时, 例如列表或字典,
Python 就使用引用。对于不可变的数据类型的值, 例如字符串、 整型或元组, Python
变量就保存值本身。
>>> spam = 42
>>> cheese = spam
>>> spam = 100
>>> spam
100
>>> cheese
42
>>> spam = [0, 1, 2, 3, 4, 5]
>>> cheese = spam
>>> cheese[1] = 'Hello!'
>>> spam
[0, 'Hello!', 2, 3, 4, 5]
>>> cheese
[0, 'Hello!', 2, 3, 4, 5]
Python 提供了名为 copy 的模块, 其中包含 copy()和 deepcopy()函数
如果要复制的列表中包含了列表, 那就使用 copy.deepcopy()函数来代替。
>>> import copy
>>> spam = ['A', 'B', 'C', 'D']
>>> cheese = copy.copy(spam)
>>> cheese[1] = 42
>>> spam
['A', 'B', 'C', 'D']
>>> cheese
['A', 42, 'C', 'D']

#元组不可修改是元组中的元素不可修改,元组变量可以赋值修改
temp=('a','b','c','d')
temp=temp[:2]+('e',)+temp[2:] #('a','b','e','c','d')

2.1、表 6-1 转义字符

转义字符 打印为
\'        单引号
\"       双引号
\t       制表符
\n      换行符
\\       倒斜杠

2.2、字符串方法 upper()、 lower()、 isupper()和 islower()

upper()全大写、lower()全小写、isupper() islower() 如果字符串至少有一个字母, 并且所有字母都是大写或小写, isupper()和islower()方法就会相应地返回布尔值 True。否则, 该方法返回 False。

除了 islower()和 isupper(), 还有几个字符串方法,它们的名字以 is 开始。这些
方法返回一个布尔值, 描述了字符串的特点。下面是一些常用的 isX 字符串方法:
 isalpha()返回 True, 如果字符串只包含字母, 并且非空;
 isalnum()返回 True,如果字符串只包含字母和数字,并且非空;
 isdecimal()返回 True,如果字符串只包含数字字符,并且非空;
 isspace()返回 True,如果字符串只包含空格、制表符和换行,并且非空;
  istitle()返回 True,如果字符串仅包含以大写字母开头、后面都是小写字母的单词。

请注意, 这些方法没有改变字符串本身, 而是返回一个新字符串。如果你希望改
变原来的字符串, 就必须在该字符串上调用 upper()或 lower(), 然后将这个新字符串
赋给保存原来字符串的变量。这就是为什么必须使用 spam = spam.upper(), 才能改变
spam 中的字符串, 而不是仅仅使用 spam.upper()

3、字符串方法 startswith()和 endswith()

如果只需要检查字符串的开始或结束部分是否等于另一个字符串, 而不是整个字符串, 这些方法就可以替代等于操作符==,这很有用。

4、字符串方法 join()和 split()

如果有一个字符串列表, 需要将它们连接起来,成为一个单独的字符串, join()方法就很有用。 join()方法在一个字符串上调用, 参数是一个字符串列表, 返回一个
字符串。返回的字符串由传入的列表中每个字符串连接而成。
split()方法做的事情正好相反:它针对一个字符串调用, 返回一个字符串列表。
', '.join(['cats', 'rats', 'bats'])
'cats, rats, bats'
'My name is Simon'.split()
['My', 'name', 'is', 'Simon']

一个常见的 split()用法, 是按照换行符分割多行字符串。在交互式环境中输入
以下代码:
>>> spam = '''Dear Alice,
How have you been? I am fine.
There is a container in the fridge
that is labeled "Milk Experiment".
Please do not drink it.
Sincerely,
Bob'''
>>> spam.split('\n')
['Dear Alice,', 'How have you been? I am fine.', 'There is a container in the
fridge', 'that is labeled "Milk Experiment".', '', 'Please do not drink it.',
'Sincerely,', 'Bob']

5、用 rjust()、 ljust()和 center()方法对齐文本

>>> 'Hello'.rjust(10)
'      Hello'
>>> 'Hello'.rjust(20)
'                Hello'
>>> 'Hello World'.rjust(20)
'          Hello World'
>>> 'Hello'.center(20, '=')
'=======Hello========’

6、用 strip()、 rstrip()和 lstrip()删除空白字符

>>> spam = '   Hello World   '
>>> spam.strip()
'Hello World'
>>> spam.lstrip()
'Hello World   '
>>> spam.rstrip()
'   Hello World'

python 列表和字符串的更多相关文章

  1. python列表和字符串的三种逆序遍历方式

    python列表和字符串的三种逆序遍历方式 列表的逆序遍历 a = [1,3,6,8,9] print("通过下标逆序遍历1:") for i in a[::-1]: print( ...

  2. python ----列表、字符串、元组之间转换小结

    字符串转换列表 li =list("adfadfsf") #内部使用for循环 print(li) #输出结果:['a', 'd', 'f', 'a', 'd', 'f', 's' ...

  3. Python - 列表与字符串的互相转换

    题目:请将text字符串中的数字取出,并输出成一个新的字符串 text = "aAsmr3 idd4bgs7Dlsf 9eAF" b = list(text) new_list = ...

  4. python列表与字符串、元组的区别以及列表引用的方式

    一.字符串 字符串也可以用下标取值.切片.for循环.len()取长度以及 in 和 not in 来进行操作. 但字符串是不可变的,不能被更改.只能构造一个“新的”字符串来存取你想要修改后的数据. ...

  5. python 列表 元组 字符串

    列表添加: list.append() list.extend() list.insert() 列表删除: list.remove()   #删除某一个元素 list.pop()  #删除某一个返回删 ...

  6. python列表转换为字符串

    对于非纯字符串组成的列表,需要使用map(str, 列表)转换,纯字符串组成的列表则不需要转换 list1 = [1, 2, 3, 4, 5]c = ','.join(map(str,list1))p ...

  7. Python - 列表与字符串的相互转换

    1. 列表转换成字符串,用''.join() # 创建一个列表 list1 = ['a','b','c'] # 将列表的元素拼接为字符串 print(''.join(list1)) # 将列表的元素通 ...

  8. python 列表中字符串排序故事一则

    a = ["bca","cab","abc"] 有时候需要对列表排序 如果是对列表中整个元素 直接用sort()排序 如果想按元素的某一段排 ...

  9. python列表转字符串

    temp = "".join(sorted(arr[i])) arr[i] = temp

随机推荐

  1. mabatis--使用mapper代理开发dao

    1.编写mapper.xml映射文件: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE m ...

  2. LeetCode刷题--基础知识篇--KMP算法

    KMP算法 关于字符串匹配的算法,最知名的莫过于KMP算法了,尽管我们日常搬砖几乎不可能去亲手实现一个KMP算法,但作为一种算法学习的锻炼也是很好的,所以记录一下. KMP算法是根据三位作者(D.E. ...

  3. luogu P3358 最长k可重区间集问题

    网络流建图好难,这题居然是网络流(雾,一般分析来说,有限制的情况最大流情况可以拆点通过capacity来限制,比如只使用一次,把一个点拆成入点出点,capacity为1即可,这题是限制最大k重复,可以 ...

  4. Day3-B-Round Marriage CodeForces-981F

    It's marriage season in Ringland! Ringland has a form of a circle's boundary of length LL. There are ...

  5. SSH框架结构分析

    分类: 工作问题2012-03-29 18:10 1511人阅读 评论(0) 收藏 举报 框架sshhibernatespringstrutsdao 最近在弄j2ee,发现还是学到了很多东西,心情ha ...

  6. 关于Essay写作的Tips及整体讲解

    Essay,相信在国外留学的小伙伴们都不会陌生,无论你是读本科还是硕士,甚至是读中学,都要经历Essay写作,也就是我们的小论文.那么,无论你是开始了英国学校的学习还是将要开始,你对Essay写作的了 ...

  7. Python协程理解——基于爬虫举例

    当前代码在工作当中没有太大的含义,但是对于大家理解协程的基础概念是相当有好处的协程最直接的可以理解为程序当中一个没有返回的功能块儿我们之前有学过多线程,所谓的多线程不论是异步并发,还是并发强调的时候将 ...

  8. 使用nginx做反向代理来访问tomcat服务器

    本次记录的是使用nginx来做一个反向代理来访问tomcat服务器.简单的来说就是使用nginx做为一个中间件,来分发客户端的请求,将这些请求分发到对应的合适的服务器上来完成请求及响应. 第一步:安装 ...

  9. css - flex 定义排列方向

    flex-direction定义伸缩项目放置在伸缩容器的排列方向,对应有四个值: (1)row:从左到右或从右到左 (2)row-reverse:与row属性相反 (3)column:从上到下排列 ( ...

  10. 跟 Task 有关的 Intent对象中设置的Flag

    FLAG_ACTIVITY_BROUGHT_TO_FRONT      这个标志一般不是由程序代码设置的,如在launchMode中设置singleTask模式时系统帮你设定. FLAG_ACTIVI ...