python 基础 列表

列表

定义列表

>>> names =["xiao ming","xiao hong","li gang","li ming"]

计算机从0开始数起

>>> names =["xiao ming","xiao hong","li gang","li ming"]
>>> names[0] # 取第一个
'xiao ming'
>>> names[1]   # 取第二个
'xiao hong'
>>> names[2]   # 取第三个
'li gang'
>>> names[3]   # 取第四个
'li ming'
>>>
>>> names[-1]  # 取最后一个
'li ming'
>>> names[-2]  #  取倒数第二个
'li gang'
>>>

 切片:取多个元素

>>> names =["xiao ming","xiao hong","li gang","li ming","xiao gang"]
>>> print(names[1],names[2]) # 取第二个和第三个
xiao hong li gang
>>> print(names[1:3]) # 叫切片  顾头不顾尾,取1对应的列表数据,不取3之后对应列表数据
['xiao hong', 'li gang']

>>> print(names[-1])  # -1   代表取从右边列表数起第一个
xiao gang
>>> print(names[-2])  # -2 代表取倒数第二个数
li ming
>>> print(names[0:3])  # 取 0-2数值,不取3
['xiao ming', 'xiao hong', 'li gang']

>>> print(names[:3])   # 如果是从头开始取,0可以忽略,跟上句效果一样
['xiao ming', 'xiao hong', 'li gang']

>>> print(names[1:])   # 如果想取最后一个,必须不能写-1,只能这么写  代表取第二个到最后一个数


['xiao hong', 'li gang', 'li ming', 'xiao gang']
>>> print(names[1:-1])   # 这样-1 最后一个数 就不会被包含了
['xiao hong', 'li gang', 'li ming']
>>> print(names[0::2])  # 后面的2是代表,每隔一个元素,就取一个
['xiao ming', 'li gang', 'xiao gang']
>>> print(names[::2])   # 和上句效果一样
['xiao ming', 'li gang', 'xiao gang']
>>>

追加

>>> names =["xiao ming","xiao hong","li gang","li ming"]
>>> names.append("liu  hua")   //追加 是在后面追加数据
>>>
>>> names
['xiao ming', 'xiao hong', 'li gang', 'li ming', 'liu  hua']
>>>

追加另一种方法

# 运算符号追加
>>> a = [1,2,3,4,5]
>>>
>>> b = []
>>>
>>> b += a
>>> b
[1, 2, 3, 4, 5]


# 
>>> a = [1,2,3,4,5]
>>>
>>> b = a
>>> b
[1, 2, 3, 4, 5]

# 利用列表生成式添加
>>> a = [1,2,3,4,5]
>>>
>>> b = [i for i in a if i]
>>> b
[1, 2, 3, 4, 5]

 

修改

>>> names =["xiao ming","xiao hong","li gang","li ming"]
>>> names[2]=("wolf")   // 修改
>>>
>>> names
['xiao ming', 'xiao hong', 'wolf', 'li ming']
>>>

插入

>>> names =["xiao ming","xiao hong","li gang","li ming"]
>>> names.insert(1,"zhang xiao xian") //插入 list.insert(number,X)中insert是在number位置上插入X,将原有number位子上的数据往后移动
>>> print(names)
['xiao ming', 'zhang xiao xian', 'xiao hong', 'li gang', 'li ming']
>>>
>>> names.insert(3,"zhang xue you")
>>> print(names)
['xiao ming', 'zhang xiao xian', 'xiao hong', 'zhang xue you', 'li gang', 'li ming']
>>>

 删除

>>>
>>> names
['xiao ming', 'zhang xiao xian', 'wolf', 'zhang xue you', 'li gang', 'li ming','liu  hua']
>>> names.remove("li ming")
>>> print(names)
['xiao ming', 'zhang xiao xian', 'wolf', 'zhang xue you', 'li gang', 'liu  hua']
>>>del names[1]
>>> print(names)
['xiao ming', 'wolf', 'zhang xue you', 'li gang', 'liu  hua']
>>> names.pop()  //默认不输入,删除最后一个  'liu  hua'

>>> print(names)  //del names[1] = names.pop(1)
['xiao ming', 'wolf', 'zhang xue you', 'li gang']
>>>

 获取下标

>>> names
['xiao ming', 'wolf', 'zhang xue you', 'li gang']
>>> print(names.index("wolf"))  // list.index("date")索引查询数据所在位置

1
>>> print(names[names.index("wolf")]    ) // 把值取出来
wolf

统计

>>> names
['xiao ming', 'wolf', 'zhang xue you', 'li gang']
>>>
>>>
>>> print(names.count("wolf"))   // 计数统计
1
>>>

 清空

>>> names
['xiao ming', 'wolf', 'zhang xue you', 'li gang']
>>> names.clear()
>>> print(names)
[]
>>>

反转&排序

//反转
>>> names
['xiao ming', 'xiao hong', 'li gang', 'li ming']
>>>
>>> names.reverse()
>>> print(names)
['li ming', 'li gang', 'xiao hong', 'xiao ming']
>>>
#排序
>>>
>>> names.sort() //按ASCII码排序
>>> print(names)
['li gang', 'li ming', 'xiao hong', 'xiao ming']
>>>

从小到大排序sort()

a = [10,9,8,7,6,5]
a.sort()
print(a)

从大到小排序 reverse()

a = [1,2,3,4,5]
a.reverse()
print(a)

扩展

//扩展 列表合并
>>> names
['li gang', 'li ming', 'xiao hong', 'xiao ming']
>>>
>>>
>>> names2 =[1,2,3,4]
>>> names.extend(names2)
>>> print(names,names2)
['li gang', 'li ming', 'xiao hong', 'xiao ming', 1, 2, 3, 4] [1, 2, 3, 4]
原文地址:https://www.cnblogs.com/mingerlcm/p/7921675.html