python列表(list)详解

一、列表(list)

  1. 创建列表
    使用[]创建列表:
nums = [1,'python','你好']

使用list()创建列表

#创建空列表
print(list())
#将字符串转换为列表
nums1 = list('hello')
#将元组转换为列表
nums2 = list(('hello','python'))
#将字典转换为列表
nums3 = list({'a':1, 'b':2})
#运行结果
[]
['h', 'e', 'l', 'l', 'o']
['hello', 'Python']
['a', 'b']
  1. 访问列表元素
url = list("godhelpsthosewhohelpthemselves")
#使用索引访问列表中的某个元素
print(url[3])  #使用正数索引
print(url[-4])  #使用负数索引
#使用切片访问列表中的一组元素
print(url[2: 10])  #使用正数切片
print(url[2: 10: 2])  #指定步长
print(url[-6: -1])  #使用负数切片
#运行结果
h
l
['d', 'h', 'e', 'l', 'p', 's', 't', 'h']
['d', 'e', 'p', 't']
['s', 'e', 'l', 'v', 'e']
  1. 删除列表
    del listname
nums = [1, 2, 3, 4]
print(nums)
del nums
print(nums)
#运行结果
[1, 2, 3, 4]
Traceback (most recent call last):
  File "/PycharmProjects/pythonProject/main.py", line 59, in <module>
    print(nums)
NameError: name 'nums' is not defined
  1. 列表添加元素
    append():在末尾追加元素
l = ['a', 'b', 'c']
#追加元素
l.append('d')
print(l)
#追加元组,整个元组被当成一个元素
t = ('e', 'f', 'G')
l.append(t)
print(l)
#追加列表,整个列表也被当成一个元素
l.append(['h', 'q'])
print(l)
['a', 'b', 'c', 'd']
['a', 'b', 'c', 'd', ('e', 'f', 'G')]
['a', 'b', 'c', 'd', ('e', 'f', 'G'), ['h', 'q']]

extend():在末尾追加,与append()不同的是:extend() 不会把列表或者元祖视为一个整体,而是把它们包含的元素逐个添加到列表中。

l = ['a', 'b', 'c']
#追加元素
l.extend('d')
print(l)
#追加元组,元祖被拆分成多个元素
t = ('e', 'f', 'G')
l.extend(t)
print(l)
#追加列表,列表也被拆分成多个元素
l.extend(['h', 'q'])
print(l)
#运行结果
['a', 'b', 'c', 'd']
['a', 'b', 'c', 'd', 'e', 'f', 'G']
['a', 'b', 'c', 'd', 'e', 'f', 'G', 'h', 'q']

insert(index,value)插入元素:可在指定位置插入元素

l = ['hello',  'python']
#插入元素
l.insert(1, 'C')
print(l)
#插入元组,整个元祖被当成一个元素
t = ('C#', 'java')
l.insert(2, t)
print(l)
#插入列表,整个列表被当成一个元素
l.insert(3, ['linux', 'SQL'])
print(l)
#插入字符串,整个字符串被当成一个元素
l.insert(0, "hello")
print(l)
#运行结果
['hello', 'C', 'python']
['hello', 'C', ('C#', 'java'), 'python']
['hello', 'C', ('C#', 'java'), ['linux', 'SQL'], 'python']
['hello', 'hello', 'C', ('C#', 'java'), ['linux', 'SQL'], 'python']
  1. 列表删除元素
    del
    删除单个元素
lang = ["Python", "C++", "Java"]
#使用正数索引
del lang[2]
print(lang)
#使用负数索引
del lang[-2]
print(lang)
#运行结果
['Python', 'C++']
['C++']

删除连续元素

lang = ["Python", "C++", "Java", "PHP", "Ruby", "MATLAB"]
del lang[1: 4]
print(lang)
lang.extend(["SQL", "C#", "Go"])
del lang[-5: -2]
print(lang)
['Python', 'Ruby', 'MATLAB']
['Python', 'C#', 'Go']

pop():删除指定索引元素

nums = [40, 36, 89, 2, 36, 100, 7]
nums.pop(3)
print(nums)
nums.pop()
print(nums)
[40, 36, 89, 36, 100, 7]
[40, 36, 89, 36, 100]

remove():根据元素值进行删除

nums = [40, 36, 89, 2, 36, 100, 7]
#第一次删除36
nums.remove(36)
print(nums)
#第二次删除36
nums.remove(36)
print(nums)
[40, 89, 2, 36, 100, 7]
[40, 89, 2, 100, 7]

clear():删除列表所有元素

  1. 列表修改元素
    修改单个元素
nums = [40, 36, 89, 2, 36, 100, 7]
nums[2] = -26  #使用正数索引
nums[-3] = -66.2 
print(nums)
[40, 36, -26, 2, -66.2, 100, 7]

修改一组元素

nums = [40, 36, 89, 2, 36, 100, 7]
#修改第 1~4 个元素的值(不包括第4个元素)
nums[1: 4] = [45.25, -77, -52.5]
print(nums)
[40, 45.25, -77, -52.5, 36, 100, 7]
  1. 列表查找元素
    index():查找某个元素
nums = [40, 36, 89, 2, 36, 100, 7, -20.5, -999]
#检索列表中的所有元素
print( nums.index(2) )
#检索3~7之间的元素
print( nums.index(100, 3, 7) )
#检索4之后的元素
print( nums.index(7, 4) )
3
5
6

count():统计某个元素出现的个数

nums = [40, 36, 89, 2, 36, 100, 7, -20.5, 36]
#统计元素出现的次数
print("36出现了%d次" % nums.count(36))
#判断一个元素是否存在
if nums.count(100):
    print("列表中存在100这个元素")
else:
    print("列表中不存在100这个元素")
36出现了3次
列表中存在100这个元素

你可能感兴趣的:(python,list,numpy)