您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

一、Python基础 7.列表(List)

5b51 2022/1/14 8:24:12 python 字数 11455 阅读 672 来源 www.jb51.cc/python

列表(List)一、列表的基本操作1.列表的建立可以直接用中括号建立一个列表,也可以用内置类(list(可迭代对象))将可迭代对象里的每一个元素转换为列表里的每一个元素names=['干将莫邪','吕布','暗信','鬼谷子','盾山','嬴政','公孙离']print(names)#结果:['干将莫邪','吕

概述

可以直接用中括号建立一个列表,也可以用内置类(list(可迭代对象))将可迭代对象里的每一个元素转换为列表里的每一个元素

names = ['干将莫邪','吕布','暗信','鬼谷子','盾山','嬴政','公孙离']
print(names)
# 结果:['干将莫邪', '吕布', '暗信', '鬼谷子', '盾山', '嬴政', '公孙离']

names = list('why20010602') #可迭代对象为 字符串
print(names)
# 结果:['w', 'h', 'y', '2', '0', '0', '1', '0', '6', '0', '2']
names = list(('干将莫邪','吕布','暗信','鬼谷子','盾山','嬴政','公孙离')) #可迭代对象为 元组
print(names)
# 结果:['干将莫邪', '吕布', '暗信', '鬼谷子', '盾山', '嬴政', '公孙离']

可以使用下标来获取元素和对元素进行切片,同时还可以使用下标修改列表里的元素

#  利用下标修改元素

names = list(('干将莫邪','吕布','hhh','暗信','鬼谷子','盾山','嬴政','公孙离'))
names[2] = '廉颇'
print(names)
# 结果:['干将莫邪', '吕布', '廉颇', '暗信', '鬼谷子', '盾山', '嬴政', '公孙离']


#  利用下标切片(语法和字符串切片一样,包前不包后)

names = list(('干将莫邪','吕布','廉颇','暗信','鬼谷子','盾山','嬴政','公孙离'))
print(names[2:6])
# 结果:['廉颇', '暗信', '鬼谷子', '盾山']

1. append()(在列表最后追加一个元素)

names = ['干将','吕布','暗信','鬼谷子']
names.append('阿离')
print(names)
# 结果:['干将', '吕布', '暗信', '鬼谷子', '阿离']

2. insert()(在列表中插入数据 object ,使其成为第 index 个数据)

# 语法:insert(index,object)( insert 表示下标,即在哪个位置插入数据; object 表示对象,即插入那个数据)

names = ['干将', '吕布', '暗信', '鬼谷子', '阿离']
names.insert(2,'廉颇')
print(names)
# 结果:['干将', '吕布', '廉颇', '暗信', '鬼谷子', '阿离']

3. extend()(拼接两个列表使其成为一个列表)

# 语法:A.extend(B)(将列表 B 追加到 A 后,但 B 不变)

names = ['干将', '吕布', '廉颇', '暗信', '鬼谷子', '阿离']
heros = ['盾山','嬴政']
names.extend(heros)
print(names)
print(heros)
'''
结果:
    ['干将', '吕布', '廉颇', '暗信', '鬼谷子', '阿离', '盾山', '嬴政']
    ['盾山', '嬴政']
'''

1. pop()(删除列表里最后一个元素并返回删除的这个元素)

# 语法:pop(index)(括号里没有值删除最后一个元素并返回元素值,否则删除第 index 个值并返回元素值)

AP = ['干将','王昭君','小乔','炸弹猫','嬴政','孙膑']
S = AP.pop()
print('AP = ',AP)
print('S = ',S)
'''
结果:
    AP =  ['干将', '王昭君', '小乔', '炸弹猫', '嬴政']
    S =  孙膑
'''

AP = ['干将','王昭君','孙膑','小乔','炸弹猫','嬴政']
S = AP.pop(2)
print('AP = ',AP)
print('S = ',S)
'''
结果:
    AP =  ['干将', '王昭君', '小乔', '炸弹猫', '嬴政']
    S =  孙膑
'''

2. remove()(删除列表里指定一个元素,如果列表中无此元素会报错)

# 语法:remove(object)(删除 object 这个元素)

AP = ['干将','王昭君','孙膑','小乔','炸弹猫','嬴政']
AP.remove('孙膑')
print(AP)
# 结果:['干将', '王昭君', '小乔', '炸弹猫', '嬴政']

3. clear()(删除列表里所有元素,删除后列表为空列表)

AP = ['干将','王昭君','孙膑','小乔','炸弹猫','嬴政']
AP.clear()
print(AP)
# 结果:[]

**1. index()(查找指定元素并返回其最小下标,如果没找到会报错) **

AP = ['干将','王昭君','孙膑','小乔','炸弹猫','嬴政']
S = AP.index('孙膑')
print(S)
# 结果: 2

2. count()(返回指定查找元素出现的次数

AP = ['干将','王昭君','孙膑','小乔','炸弹猫','嬴政','孙膑']
S = AP.count('孙膑')
print(S)
# 结果: 2

3. 身份运算符(in)(判断元素是否在列表里,若在返回 True ,否则返回 False)

AP = ['干将','王昭君','孙膑','小乔','炸弹猫','嬴政','孙膑']
S = '干将' in AP
print(S)
# 结果:True
AP = ['干将','王昭君','孙膑','小乔','炸弹猫','嬴政','孙膑']
AP[6] = '妲己'
print(AP)
# 结果:['干将', '王昭君', '孙膑', '小乔', '炸弹猫', '嬴政', '妲己']

注意:所有遍历都是针对可迭代对象的

AP = ['干将','王昭君','高渐离','小乔','炸弹猫','嬴政','妲己']
for i in AP:
    print(i)
'''
结果:
    干将
    王昭君
    高渐离
    小乔
    炸弹猫
    嬴政
    妲己
'''
AP = ['干将','王昭君','高渐离','小乔','炸弹猫','嬴政','妲己']
i = 0
while i < len(AP) :
    print(AP[i])
    i = i + 1
'''
结果:
    干将
    王昭君
    高渐离
    小乔
    炸弹猫
    嬴政
    妲己
'''

注意:Python中特有交换两个变量值

a = 10
b = 20
a, b = b, a
print('a = ', a)
print('b = ', b)
'''
结果:
    a =  20
    b =  10
'''

a = 'why'
b = '20010602'
a, b = b, a
print('a = ', a)
print('b = ', b)
'''
结果:
	a =  20010602
	b =  why
'''
nums = [6, 5, 3, 1, 8, 7, 2, 4]
i = 0
while i < len(nums) - 1:
    n = 0
    while n < len(nums) - 1 - i:
        if nums[n] > nums[n + 1]:
            t = nums[n]
            nums[n] = nums[n + 1]
            nums[n + 1] = t
        n = n + 1
    i = i + 1
print(nums)
#  从小到大排序
nums = [6,5,3,1,8,7,2,4]
nums.sort()
print(nums)
# 结果:[1, 2, 3, 4, 5, 6, 7, 8]

#  从小到大排序
nums = [6,5,3,1,8,7,2,4]
nums.sort(reverse=True)
print(nums)
# 结果:[8, 7, 6, 5, 4, 3, 2, 1]
#  从小到大排序
nums = [6, 5, 3, 1, 8, 7, 2, 4]
NUMS = sorted(nums)
print('NUMS = ', NUMS)
print('nums = ', nums)
'''
结果:
    NUMS =  [1, 2, 3, 4, 5, 6, 7, 8]
    nums =  [6, 5, 3, 1, 8, 7, 2, 4]
'''
names = ['zhangsan','lisi','wangwu']
names.reverse(names)
print(names)
# 结果:['wangwu', 'lisi', 'zhangsan']
names = ['zhangsan','lasi','wangwu']
names[::-1]
print(names)
# 结果:['zhangsan', 'lasi', 'wangwu']
S = [100,200,300]
T = S.copy()
T[0] = 1
print('S = ',S)
print('T = ',T)
'''
结果:
    S =  [100, 200, 300]
    T =  [1, 200, 300]
'''
import copy  # 实际上就是一个.py文件 
S = [100,200,300]
T = copy.copy(S)  # 和S.copy()作用一样
T[0] = 1
print('S = ',S)
print('T = ',T)
'''
结果:
    S =  [100, 200, 300]
    T =  [1, 200, 300]
'''
S = [100,200,300]
T = S[::]
T[0] = 1
print('S = ',S)
print('T = ',T)
'''
结果:
    S =  [100, 200, 300]
    T =  [1, 200, 300]
'''

**题目:**一个学校,有3个办公室,现在有10位老师等待工位的分配,请编写程序,完成随机的分配

import random  # 调用 random 模块

teachers = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
rooms = [[], [], []]
for i in teachers:
    room = random.choice(rooms)  # choice() 从列表里随机选择一个数据
    room.append(i)
print(rooms, '\n')

#  for 循环中带下标的遍历
for i, room in enumerate(rooms):  # 第一层循环找到房间
    print('房间 %d 里一共有 %d 个老师,分别是:' % (i, len(room)), end='')
    for teacher in room:          # 第二层循环找到房间里的每一个人
        print(teacher, end='\t')
    print()
'''
结果:
    [['A', 'G', 'I', 'J'], ['C', 'D', 'H'], ['B', 'E', 'F']] 

    房间 0 里一共有 4 个老师,分别是:A	G	I	J	
    房间 1 里一共有 3 个老师,分别是:C	D	H	
    房间 2 里一共有 3 个老师,分别是:B	E	F	
'''
nums = [i for i in range(10)]
print(nums)
# 结果:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

X =[i for i in range(10) if i % 2 == 0]
print(X)
# 结果:[0, 2, 4, 6, 8]

X =  [(x,y) for x in range(5,9) for y in range(8,12)]
print(X)
'''
(结果是一个列表,但列表里的每一个元素是元组)
结果:
    [(5, 8), (5, 9), (5, 10), (5, 11), (6, 8), (6, 9), (6, 10), (6, 11), (7, 8), (7, 9), (7, 10), (7, 11), (8, 8), (8, 9), (8, 10), (8, 11)]
'''

**习题:**请写出一段 Python 代码实现分组一个 list 里面的元素,比如 [1,2,3,······100] 变成 [[1,2,3],[4,5,6]······]

m = [i for i in range(1, 101)]
n = [[m[j:j + 3] for j in range(0, 100, 3)]]  # 在 0 到 100 并且步长是 3 循环内对 列表m 进行切片,并将切片之后的结果给 n 组成新的列表输出
print(n)
'''
结果:
	[[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18], [19, 20, 21], [22, 23, 24], [25, 26, 27], [28, 29, 30], [31, 32, 33], [34, 35, 36], [37, 38, 39], [40, 41, 42], [43, 44, 45], [46, 47, 48], [49, 50, 51], [52, 53, 54], [55, 56, 57], [58, 59, 60], [61, 62, 63], [64, 65, 66], [67, 68, 69], [70, 71, 72], [73, 74, 75], [76, 77, 78], [79, 80, 81], [82, 83, 84], [85, 86, 87], [88, 89, 90], [91, 92, 93], [94, 95, 96], [97, 98, 99], [100]]]
'''

总结

以上是编程之家为你收集整理的一、Python基础 7.列表(List)全部内容,希望文章能够帮你解决一、Python基础 7.列表(List)所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶