1.列表
1.1标志 [ ]
1.2基本操作
(1)创建
创建一个列表:l = [123, 'abc' , (1, 2, 3)]
>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> classmates
['Michael', 'Bob', 'Tracy']
(2)
append() 将参数作为一个元素增加到列表的末尾
extend() 将参数作为一个列表去扩展列表的末尾
insert() 将参数插入列表的指定位置
>>> classmates.append('Adam')
>>> classmates
['Michael', 'Bob', 'Tracy', 'Adam']
>>> classmates.insert(1, 'Jack')
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']
>>> classmates.pop()
'Adam'
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy']
>>> classmates.pop(1)
'Jack'
>>> classmates
['Michael', 'Bob', 'Tracy']
(3)替换
>>> classmates[1] = 'Sarah'
>>> classmates
['Michael', 'Sarah', 'Tracy']
(4)删除
从列表中获取元素:member[索引值](注意:索引值从0开始)
从列表删除元素:
remove() member.remove('元素名')(注意:元素必须存在于列表中,否则会报错)
del() del member[索引值]
pop() pop()方法在删除指定对象时,会返回要删除元素的值。可以理解为一个提示作用,提示你删除的是哪一个元素。
原文:https://blog.csdn.net/yatum_2014/article/details/81435600
(5)拷贝
1. 使用切片
切片在python中的作用是非常大的,可用作于所有的可迭代对象。
使用: list2 = list1[:]
2.使用copy
copy在python中可以实现拷贝一个对象。使用: list2 = list1.copy()
3. 使用循环复制法
可以循环遍历list1,将值插入到list2中。使用: list2 = [for i in list1]
原文:https://www.cnblogs.com/fight-xiao/p/8660208.html
(6)列表相关方法:
1、list.count()统计:
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
list_count = list.count(4) # 统计某个元素在列表中出现的次数
print("4 在列表中出现过 %s 次" % list_count)
4 在列表中出现过 2 次
2、list.append()添加对象:
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
list.append("obj") # 在列表末尾添加新的对象
print(list)
[6, 4, 5, 2, 744, 1, 76, 13, 8, 4, 'obj']
3、list.extend()扩展列表:
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
list1 = [123, 456, 789]
list.extend(list1) # 扩展列表,在列表末尾一次性追加另一个列表中的多个值(相当于把list1的元素复制到了list)
print(list)
[6, 4, 5, 2, 744, 1, 76, 13, 8, 4, 123, 456, 789]
4、list.pop()删除对象:
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
list.pop(1)#移出列表中的一个元素,(默认最后一个元素)
print(list)
[6, 5, 2, 744, 1, 76, 13, 8, 4]
5、list.remove()删除匹配项:
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
list.remove(4) # 移除列表中某个值的第一个匹配项(只会移出第一个)
print(list)
[6, 5, 2, 744, 1, 76, 13, 8, 4
6、list.insert()插入对象:
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
list.insert(3, "test")#将对象插入列表的第三个位置
print(list)
[6, 4, 5, 'test', 2, 744, 1, 76, 13, 8, 4]
7、list.copy复制列表:
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
list1 = list.copy() # 复制一个副本,原值和新复制的变量互不影响
print(list1)
[4, 8, 13, 76, 1, 744, 2, 5, 4, 6]
8、list.reverse()反向排序:
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
list.reverse() # 反向列表中元素
print(list)
[4, 8, 13, 76, 1, 744, 2, 5, 4, 6]
9、list.index()获取索引:
# 修改第一个获取到对象
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
list_index = list.index(4) # 从列表中找出某个值第一个匹配项的索引位置
list[list_index] = 999 #将我们获取到的索引给他修改为999
print(list)
[6, 999, 5, 2, 744, 1, 76, 13, 8, 4]
# 修改所有获取到对象
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
for i in range(list.count(4)): # 用列表的方法count找到有多少元素等于4,然后for在来循环
list_index = list.index(4) # 找到的每一个4都用来赋给list_index
list[list_index] = 999 # 最后将最后将我们获取到的索引改为999
print(list) # print我放入了for循环里面,所以输出了两条,但是从这里我们可以看到,第一次改了第一个4,第二次改了第二个4
[6, 999, 5, 2, 744, 1, 76, 13, 8, 4]
[6, 999, 5, 2, 744, 1, 76, 13, 8, 999]
10、list.sort()排序:
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
list.sort()#对原列表进行排序.根据ascii排序
print(list)
[1, 2, 4, 4, 5, 6, 8, 13, 76, 744]
11、list[obj]步长:
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
print(list[0:-1:2]) # 这个被称为步长,最后一个2代表每隔2个元素打印一次,默认就是一步
print(list[::2]) # 这种效果和上面差不多,如果是从0开始,可以把0省略不写
函数:
12、len(list):
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
len(list) # 返回列表元素的个数
print(len(list))
10
13、max(list):
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
print(max(list))# 返回列表元素的最大值
744
14、min(list):
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
print(min(list))# 返回列表元素的最小值
744
原文:https://www.cnblogs.com/smelond/p/7857701.html
2.元组tuple
2.1标志
>>> classmates = ('Michael', 'Bob', 'Tracy')
2.2基本操作
创建一个元组:t = (123, 'abc', (1, 2, 3))
>>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])
tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。
tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。
即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!
3.String字符串
3.1定义
字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。
创建字符串很简单,只要为变量分配一个值即可。例如:
var1 = ‘Hello World!’
var2 = “Python Runoob”
3.2运算
下表实例变量 a 值为字符串 “Hello”,b 变量值为 “Python”:
操作符 | 描述 | 实例 |
---|---|---|
+ | 字符串连接 | >>>a + b ‘HelloPython’ |
* | 重复输出字符串 | >>>a * 2 ‘HelloHello’ |
[] | 通过索引获取字符串中字符 | >>>a[1] ‘e’ |
[ : ] | 截取字符串中的一部分 | >>>a[1:4] ‘ell’ |
in | 成员运算符-如果字符串中包含给定的字符返回 True | >>>“H” in a True |
not in | 成员运算符 -如果字符串中不包含给定的字符返回 True | >>>“M” not in a True |
r/R | 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 | >>>print r’\n’ \n >>> print R’\n’\n |
3.3转义
转义字符 | 描述 |
---|---|
(在行尾时) | 续行符 |
\ | 反斜杠符号 |
’ | 单引号 |
" | 双引号 |
\a | 响铃 |
\b | 退格(Backspace) |
\e | 转义 |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车 |
\f | 换页 |
\oyy | 八进制数,yy代表的字符,例如:\o12代表换行 |
\xyy | 十六进制数,yy代表的字符,例如:\x0a代表换行 |
\other | 其它的字符以普通格式输出 |
3.4格式化
符 号 | 描述 |
---|---|
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%u | 格式化无符号整型 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同%e,用科学计数法格式化浮点数 |
%g | %f和%e的简写 |
%G | %f 和 %E 的简写 |
%p | 用十六进制数格式化变量的地址 |
符号 | 功能 |
---|---|
* | 定义宽度或者小数点精度 |
- | 用做左对齐 |
+ | 在正数前面显示加号( + ) |
<sp> | 在正数前面显示空格 |
# | 在八进制数前面显示零(‘0’),在十六进制前面显示’0x’或者’0X’(取决于用的是’x’还是’X’) |
0 | 显示的数字前面填充’0’而不是默认的空格 |
% | ‘%%‘输出一个单一的’%’ |
(var) | 映射变量(字典参数) |
m.n. | m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话) |