取值与取索引

a_list[]

a_list.index() # 通过值取索引 注:若列表中有两个相同的值,取索引时会取第一个出现的索引

列表内置方法的使用

a_list = ['人', '生', '值', '得', '未', '来', '可', '期']

a_list.append("!") # 将括号中的数据追加到列表末尾#

a_list.insert(0, "@") # 在指定位置插入数据,0为索引,@为要插入的值

a_list.extend(a) # 将列表a的数据追加到a_list中

a_list.pop # 删除末尾的元素,和a_list.pop()效果一样

a_list.pop(1) # 删除指定数据,括号中为要删除的索引

a_list.remove("人") # 移除指定数据,若有多个,则移除第一次出现的

a_list.clear() # 清空列表中的数据,会输出空列表,和列表函数的del比较

排序

a_list.sort() # 正序排序 一般用于数字,如果是字符串那就按ascii排序 如:“abd”和“a”:先比较a的ascii,若还不能比较出来向后一位

a_list.sort(reverse=True) # 逆序排序 一般用于数字,如果是字符串那就按ascii排序 如:“abd”和“a”:先比较a的ascii,若还不能比较出来向后一位

统计

a_list.count("人") # 统计括号中数据在列表中出现的次数

## 复制b=a_list.copy() # 把a_list中的数据复制到b中

列表内置函数的使用

a_list = ['人', '生', '值', '得', '未', '来', '可', '期']

del a_list # 或者 del(a_list) 这种形式 ,则会把a_dict整个内存删除,再次输出会报错,和方法的clear()作对比min() # 取元素中的最小值,一般针对的是数字,若是字符串的话会根据第一个字母的ascii码排序 如:“abd”和“a”:先比较a的ascii,若还不能比较出来向后一位

max() # 取元素中的最大值,一般针对的是数字,若是字符串的话会根据第一个字母的ascii码排序 如:“abd”和“a”:先比较a的ascii,若还不能比较出来向后一位

len() # 统计元素个数

tuple() # 检测括号中变量的数据类型

sum() # 统计列表所有元素的和,前提是元素为数值类型

id() # 取括号中变量的地址,如果是a_list[]这种形式,则表示取该索引下元素的地址

分片赋值

a=list("人生值得未来可期") # 会输出:['人', '生', '值', '得', '未', '来', '可', '期']

a[3:]=list("无垠") # 会将3到结尾的值替换为新的 ['人', '生', '值', '无', '垠']

a[1:1]=list("生活明朗") # 会将括号中的内容插入到1的位置

字符串的截取

print (list) # 输出完整列表

print (list[0]) # 输出列表第一个元素

print (list[1:3]) # 从第二个开始输出到第三个元素

print (list[2:]) # 输出从第三个元素开始的所有元素

print (tinylist * 2) # 输出两次列表

批量赋值

a=[1,2,3];

a[0:2]=4,5 # 会输出[4,5,3]a[:]

嵌套列表

a_list=[[1,2,3], [4,5,6]] # 访问值的方法 a_list[][]

a=[1,2,3]

b=[4,5,6]

a_list=[a,b] # 和上面是一样的,访问值的方法 a_list[][]
a_list=["wuyin", "www"] # 通过用a_list[][]可以用来控制访问字符串的某个字母

列表推导式

a_list=[1,2,3,4,5]

b_list=[i*2 for i in a_list]

a_list=[i*2 for i in range(9)]

a_list=[i*2 for i in range(9) if i<4]

成员运算符

in # 比如a in a_list: 就会判断a_list中有没有a这个变量的值,有则返回true,无则false

not in # 比如a not in a_list: 就会判断a_list中有没有a这个变量的值,无则返回true,有则false

列表的拼接

a_list = [1, 2, 3, 4]

b_list = [5, 6, 7, 8, 9]

a_list += b_list

# 或者直接 a_list += [5, 6, 7, 8, 9]

列表的复制

a = [1, 2, 3]
b = a
c = []
c = a
d = a[:]
e = a.copy()
b[0] = 'b'print(id(a), id(b), id(c), id(d), id(e))
print(a, b, c, d, e)
c[0] = 'c'print(id(a), id(b), id(c), id(d), id(e))
print(a, b, c, d, e)
d[0] = 'd'print(id(a), id(b), id(c), id(d), id(e))
print(a, b, c, d, e)
e[0] = 'e'print(id(a), id(b), id(c), id(d), id(e))
print(a, b, c, d, e)

输出

# 24887016 24887016 24887016 25637000 25749576
# 24887016 24887016 24887016 25637000 25749576
# 24887016 24887016 24887016 25637000 25749576
# 24887016 24887016 24887016 25637000 25749576
# 可以发现除了用d = a[:]和e = a.copy()复制的,其余改变值都会改变原有的数据
# 也就意味着处d = a[:]和e = a.copy()是新建了内存来储存数据外,其余的都是复制的列表a的地址,所以对其中数据的改变会影响a

列表和元组的转换

tuple(list) # 将元组转换成列表,记得新建一个变量来接收转换后的值,如:a_list = tuple(list)list(tuple)

# 将元组转换成列表,记得新建一个变量来接收转换后的值,如:a_list = list(tuple)

Last modification:November 17th, 2020 at 07:07 pm
创作不易,请随意赞赏