python 列表中保留全部字符串前三项,并保存到一个新的列表
l = [s[:3] for s in data]
python 在列表中查找包含因此某个字符串的项,并保存到一个新的列表
l = [s for s in data if 'FF' in s]
# 两个list的差集,并集和交集
http://www.javashuo.com/article/p-mjuyalci-nb.html
方法一:
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] #一、获得列表 <class 'list'>
b=[i/2 for i in a];print(b) #二、获得<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 #能够插到不一样位置,再去重python
#简单的list去重编程
a=[1,2,3,2,4,3,1]app
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')
转义字符 打印为
\' 单引号
\" 双引号
\t 制表符
\n 换行符
\\ 倒斜杠函数
upper()全大写、lower()全小写、isupper() islower() 若是字符串至少有一个字母, 而且全部字母都是大写或小写, isupper()和islower()方法就会相应地返回布尔值 True。不然, 该方法返回 False。spa
除了 islower()和 isupper(), 还有几个字符串方法,它们的名字以 is 开始。这些
方法返回一个布尔值, 描述了字符串的特色。下面是一些经常使用的 isX 字符串方法:
isalpha()返回 True, 若是字符串只包含字母, 而且非空;
isalnum()返回 True,若是字符串只包含字母和数字,而且非空;
isdecimal()返回 True,若是字符串只包含数字字符,而且非空;
isspace()返回 True,若是字符串只包含空格、制表符和换行,而且非空;
istitle()返回 True,若是字符串仅包含以大写字母开头、后面都是小写字母的单词。.net
请注意, 这些方法没有改变字符串自己, 而是返回一个新字符串。若是你但愿改
变原来的字符串, 就必须在该字符串上调用 upper()或 lower(), 而后将这个新字符串
赋给保存原来字符串的变量。这就是为何必须使用 spam = spam.upper(), 才能改变
spam 中的字符串, 而不是仅仅使用 spam.upper()code
若是只须要检查字符串的开始或结束部分是否等于另外一个字符串, 而不是整个字符串, 这些方法就能够替代等于操做符==,这颇有用。htm
若是有一个字符串列表, 须要将它们链接起来,成为一个单独的字符串, join()方法就颇有用。 join()方法在一个字符串上调用, 参数是一个字符串列表, 返回一个
字符串。返回的字符串由传入的列表中每一个字符串链接而成。
split()方法作的事情正好相反:它针对一个字符串调用, 返回一个字符串列表。
', '.join(['cats', 'rats', 'bats'])
'cats, rats, bats'
'My name is Simon'.split()
['My', 'name', 'is', 'Simon']blog
一个常见的 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']
>>> 'Hello'.rjust(10)
' Hello'
>>> 'Hello'.rjust(20)
' Hello'
>>> 'Hello World'.rjust(20)
' Hello World'
>>> 'Hello'.center(20, '=')
'=======Hello========’
>>> spam = ' Hello World '>>> spam.strip()'Hello World'>>> spam.lstrip()'Hello World '>>> spam.rstrip()' Hello World'