列表,元组和字典

列表

1.列表格式:li = ['1','2','3']

2.列表可以嵌套任何类型,可以是数字,字符串,列表,布尔值...

3.列表取值,可以索引取值,切片取值,for循环遍历

# 切片取值,结果小于三,不包含位置3
li = ['1','3',['5','zhu','jin','hua'],'中国']
v = li[1:3]
print(v)
# 索引取值
v1 = li[1]
print(v1)
# for循环
for i in li:
    print(i)
# in方法判断
v2 = ['5','zhu','jin','hua'] in li
print(v2)

4.列表元素可以被修改,内部以链表形式存储,修改后重新指向新坐标

5.支持索引删除,修改

# 索引删除
li = ['1','3',['5','zhu','jin','hua'],'中国']
del li[2]
print(li)

# 索引修改
li[0] = 'zhangsan'
print(li)

6.切片删除,修改同理

常用的方法:

  • 计算列表中元素出现的个数count()
# 计算元素出现的次数
li = ['1','1',['5','zhu','jin','hua'],'中国']
v = li.count('1')
print(v)
  • 列表追加:append()
li = ['1', '1', ['5', 'zhu', 'jin', 'hua'], '中国', 'z']
li.append(['canglong','wohu'])
print(li)
  • 列表追加:extend()
li = ['1', '1', ['5', 'zhu', 'jin', 'hua'], '中国', 'z']
li.extend(['canglong','wohu'])
print(li)
# extend和append两者区别
# append可以添加单个元素,也可以添加可迭代对象,但是extend只能添加可迭代对象:
#在添加可迭代对象时,append在添加后不改变添加项的类型,添加之前是什么类型,添加之后就是什么类型;而extend在添加后,会将添加项进行迭代,迭代的元素挨个添加到被添加的数组中:
  • 清空列表clear()
li = ['1', '1', ['5', 'zhu', 'jin', 'hua'], '中国', 'z']
li.clear()
print(li)
  • 复制列表copy(),可以用新的变量接收
# 复制列表,可以用一个新的变量接收
li = ['1', '1', ['5', 'zhu', 'jin', 'hua'], '中国', 'z']
li2 =li.copy()

  • 根据数值获取索引,左边优先index()
# 根据值获取当前值索引位置(左边优先)
li = ['1', '1', ['5', 'zhu', 'jin', 'hua'], '中国', 'z']
v = li.index('z')
print(v)
  • 在指定位置插入元素insert()
li = ['1', '1', ['5', 'zhu', 'jin', 'hua'], '中国', 'z']
li.insert(2,'第三个位置')
print(li)
  •  删除某个值(1.指定索引;2. 默认最后一个),并获取删除的值pop()
li = ['1', '1', ['5', 'zhu', 'jin', 'hua'], '中国', 'z']
li.pop() #默认删除最后一个
li.pop('1') #删除指定位置
  • 删除列表中的指定值,左边优先remove()
li = ['1', '2', ['5', 'zhu', 'jin', 'hua'], '1', 'z']
li.remove('1')
print(li)
  • 当前列表进行翻转reverse()
li = ['1', '2', ['5', 'zhu', 'jin', 'hua'], '1', 'z']
li.reverse()
print(li)
  • 当前列表进行排序,正序和倒序
#列表的排序
li = [11,44, 22, 33, 22]
li.sort()
li.sort(reverse=True)#倒序
print(li)

 

 

 

上一篇:C++设计模式之桥接模式


下一篇:java中Number Type Casting(数字类型强转)的用法