Python 基础之 "组合数据类型" 列表

索引、序列的切片操作:
练习1:

s=len('helloworld')
print(s)

s='helloworld'

for i in range(0,len(s)):
    print(i,s[i])

s='helloworld'

s1=s[0:5:1]  # [start:end:step] 开始,结束,步长,不包含end值,也就是5;不指定start,默认从0开始;
print(s1)

序列的相关操作符与函数:

x in s         如果x是s的元素,结果为True,否则为False
x not in s     如果x不是s的元素,结果为True,否则为False
len(s)         序列中s中元素的个数(即序列长度)
max(s)         序列中s中元素的最大值
min(s)         序列中s中元素的最小值
s.index(x)     序列中s中第一次出现的元素x的位置
s.count(x)     序列中s中元素x出现的总次数

列表:

lst=['hello','world',99.8,100]
print(lst)
输出:['hello', 'world', 99.8, 100]

# 通过内置的list()函数创建列表:
lst1=list(range(1,10,2))
print(lst1)
输出:[1, 3, 5, 7, 9]

lst2=list('helloworld')
print(lst2)
输出:['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

列表元素的遍历:

for 与 range()函数和len()函数组合遍历

for 与 enumerate()函数组合遍历元素和索引

练习1:

lst=['hello','world']

for index,item in enumerate(lst):  # 默认index序号从0开始
    print(index,item)

for index,item in enumerate(lst,1):  # 默认index序号从1开始
    print(index,item)
    #print(index,item,id(lst))  id 查看内存地址

列表的相关操作:(列表中,实际存储的是对象的内存地址):

lst.append(x)        在列表lst最后增加一个元素
lst.insert(index,x)  在列表中第index位置增加一个元素
lst.clear()          清除列表lst中所有元素
lst.pop(index)       将列表lst中第index位置的元素取出,并从列表中将其删除
lst.remove(x)        将列表中lst中出现的第一个元素x删除
lst.reverse()        将列表lst中的元素反转
lst.copy()           拷贝列表lst中所有的元素,生成一个新的列表

列表排序:

1.列表对象的sort()方法
对原列表中的元素进行排序,列表中的元素顺序发生改变
lst.sort(key=None,reverse=False)

练习:

# sort() 使用方法
lst=[1,57,6,7,10,77]
print('原列表:',lst)
lst.sort()  # 默认是升序,另一种写法:lst.sort(reverse=False)
print(lst)

lst.sort(reverse=True) # 降序
print(lst)

# 忽略大小写比较,如果有大小写比较,大写在小写前面,因为大写的ASCII是65位,小写是96位
lst2=['Orange','apple','Bnanna','open','Fuck']
lst2.sort(key=str.lower)
print(lst2)

2.内置的sorted()函数 :

使用sorted()函数后,原来元素顺序不变,排序后产生一个新的列表对象
sorted(iterable,key=None,reverse=False)

练习:

# sorted()使用方法
# 默认升序
asc_list=sorted(lst)
print('原列表升序:',asc_list)

#降序
desc_list=sorted(lst,reverse=True)
print('原列表降序:',desc_list)

# 忽略大小写
new_list=sorted(lst2,key=str.lower)
print(new_list)

列表生成式

1.生成指定范围的数值列表
lst=[expression for item in range] # expression 表达式

练习:

import random
lst=[ item for item in range(1,11) ] # 第一个item 是表达式
print(lst)

lst2=[random.randint(1,100) for _ in range(10)]  # _ 表示for循环执行的次数
print(lst2)  # 产生10个1-100之间的随机数

2.从列表中选择符合条件的元素组成新的列表
lst=[expression for item in 列表 if condition]

练习:

# 从列表中选择符合条件的元素,组成新的列表
lst=[i for i  in range(10) if i%2==0]  # 0-9之间的偶数
print(lst)

二维列表 (外层循环是行,内层循环是列)
# 创建二维列表
lst=[
    ['城市','环比','增长'],
    ['北京',102,103],
    ['深圳',104,777],
    ['广州',666,999]
]
print(lst)

# 遍历列表内容,外层遍历行,内层遍历列
for row in lst: # 遍历行
    for item in row: # 遍历列
        print(item,end='\t')
    print() # 换行
--------------------------------------------------
# 列表生成4行5列
lst2=[[j for j in range(5)] for i in range(4)]
print(lst2)

 

posted @ 2022-06-06 16:05  __Yoon  阅读(137)  评论(0编辑  收藏  举报