一、列表
1.“列表”是一个值,它包含多个字构成的序列。
2.基本用法概念于C中数组类似,故可以用下标来更改列表的值。
3.初始化
spam=[1,23.2,"fdsa",'a']
4.负数下标
spam=[1,23.2,"fdsa",'a']
print(spam[-1]) #a
5.切片
spam=[1,23.2,"fdsa",'a']
print(spam[1:3]) #[23.2, 'fdsa']
6.连接复制
spam=[1,23.2,"fdsa",'a']
spam2=[2,2,2,2]
print(spam+spam2)
print(spam*3)
#[1, 23.2, 'fdsa', 'a', 2, 2, 2, 2]
#[1, 23.2, 'fdsa', 'a', 1, 23.2, 'fdsa', 'a', 1, 23.2, 'fdsa', 'a']
7.删除
spam=[1,23.2,"fdsa",'a']
del spam[1]
print(spam) """[1, 'fdsa', 'a']"""
8.循环
spam=[1,23.2,"fdsa",'a']
for i in spam:
print(i)
'''
1
23.2
fdsa
a
'''
9.in/not in
spam=[1,23.2,"fdsa",'a']
print(1 in spam) #True
10.多重赋值
spam=[1,2,3]
a,b,c=spam
print(a,b,c) #1 2 3
11.其他
- len(spam)获取列表长度
- max(spam)/min(spam),接受字符比较
- spam.index(a)获取a在spam中下标,若无会报错,若有多个a,返回第一个a的下标
- spam.append()在spam末尾加入新值
- spam.insert(index,val)插入
spam=[1,2,3]
spam.insert(1, 4)
print(spam) #[1, 4, 2, 3]
- spam.remove(a)类似index,不过remove是删除
- spam.sort()
- spam.sort(reverse=True)倒序排序
- spam.sort(key=str.lower)按小写优先排序(aAbB),若无key=str.lower,则默认ASCII排序
- 关于sort,不可数字字符串混排
- spam.count(val)spam中val出现次数
- spam.pop()
- spam.reverse()翻转列表
二、字符串
与列表相似,只不过不可通过下标改变值
print(r"\n\n\t") #\n\n\t
print("aaaaa %s ccccc %d"%('bbbbb',1111))
#aaaaa bbbbb ccccc 1111
print("aaaaa %s ccccc %o"%('bbbbb',1111))
#aaaaa bbbbb ccccc 2127
- s.capitalize()首字母大写
- s.center(len)字符串居中并用空格补充
- s.count(a,int_begin,int_end)下标int_begin,int_end之间a出现次数
- s.endswith(a,int_begin,int_end)是否以a结尾,也有startswith
- s.find(a,int_begin,int_end),也有rfind
- s.splitlines()将字符串分行成为列表
- s.isupper(),s.lower(),s.isdigiit(),s.isalnum()等
- join()和split()方法
s=','.join(["asd","fgsd","vzc"]) print(s) ss="asdf dsaf asdg f" k=s.split() print(k) ''' asd,fgsd,vzc ['asd,fgsd,vzc'] '''
三、元组
据说区别只有两点,一个是[],()区别,另一个是元组不可变,列表可变
注意元组传参时或其他使用过程中与()的区别:
t=threading.Thread(target=dealReceiveMessagesFunction.dealmessages,args=(userk,))
为避免其与()混淆,单个参数传参时需多加一个,