列表是一列按特定顺序排列的元素组成。
在Python中,用方括号[]来表示列表
下面是一个语言列表
Language = ['Chinese','English','Franch','Deutsch']
print(Language)
打印结果包括方括号等
['Chinese', 'English', 'Franch', 'Deutsch']
1.1 访问列表元素
print(Language[0])
打印结果:
Chinese
列表示通过索引来访问其值的,但是值是从0开始的,而不是1,访问倒数的值,其索引为负数即可。
print(Language[-1])
print(Language[-2])
打印结果:
Deutsch
Franch
1.2 修改、添加和删除元素
1.2.1 修改
例如:将上述元素中的English修改为Japanese
Language[1] = 'Japanese'
print(Language)
打印结果:
['Chinese', 'Japanese', 'Franch', 'Deutsch']
['Chinese', 'Deutsch']
1.2.2 添加
append()添加元素至末尾
Language.append('English')
print(Language)
打印结果:
['Chinese', 'Japanese', 'Franch', 'Deutsch', 'English']
insert()指定新元素的索引与值即可
Language.insert(2,'Hindi')
print(Language)
打印结果:
['Chinese', 'Japanese', 'Hindi', 'Franch', 'Deutsch', 'English']
1.2.3 删除
del()删除元素(需要指定删除的元素的值)
del Language[1]
print(Language)
打印结果:
['Chinese', 'Hindi', 'Franch', 'Deutsch', 'English']
del()删除的元素一旦删除则无法再访问了。
pop()删除列表末尾的值
del_Language = Language.pop()
print(del_Language)
print(Language)
打印结果:
English
['Chinese', 'Hindi', 'Franch', 'Deutsch']
删除列表中任意位置的值,只需要指定索引即可
del_Language_2 = Language.pop(2)
print(del_Language_2)
print(Language)
打印结果:
Franch
['Chinese', 'Hindi', 'Deutsch']
remove()根据值删除
del_str = 'Hindi'
Language.remove(del_str)
print(Language)
打印结果:
['Chinese', 'Deutsch']
1.3 组织列表
sort()永久性排序
color = ['red','orange','green','blue']
print(color)
color.sort()
print(color)
打印结果
['red', 'orange', 'green', 'blue']
['blue', 'green', 'orange', 'red']
sorted()临时排序
color = ['red','orange','green','blue']
print("Here is the original list:")
print(color)
print("\nHere is the sorted list:")
print(sorted(color))
print("\nHere is the original list again:")
print(color)
Here is the original list:
['red', 'orange', 'green', 'blue']
Here is the sorted list:
['blue', 'green', 'orange', 'red']
Here is the original list again:
['red', 'orange', 'green', 'blue']
以上打印结果可以清晰看出sorted()只是对列表进行了临时排序,不会改变列表的本质。
1.4 len()列表长度
color = ['red','orange','green','blue']
print(len(color))
打印结果:
4
1.5 操作列表
当列表中元素比较多时,如果还是用原先按照索引取值打印列表,那么会非常的麻烦,那么我们就可以引入for循环,遍历元素
如下,是定义的一个for循环打印元素
①cars = ['Lincoln','Ford','Hummer','Audi','Skoda','Toyota']
②for car in cars:
③ print(car)
④ print('I like '+car+'!')
⑥print('I really like car!')
打印结果:
Lincoln |
第一句代码:定义一个汽车品牌列表
第二句代码:循环列表
第三句代码:打印各个品牌
第四句代码:拼接字符串打印,循环打印”I like..”
第五句代码:在循环完毕,最后打印一句“Ireally like car!”
特别说明:在for循环后边,没有缩进的代码都只执行一次,而不会重复执行。
1.6 创建数值列表range()
1.6.1 函数range()
语法:range(起始值,结束值,步长值)
for i in range(1,6,2):
print(i)
打印结果:
1
3
5
1.6.2 使用range()创建数字列表
使用函数list()将range()的结果直接转换为列表
numbers = list(range(1,8))
print(numbers)
打印结果:
[1, 2, 3, 4, 5, 6, 7]
例如:创建一个列表,打印1~10的整数的平方
nums = []
for i in range(1,11):
nums.append(i**2)
print(nums)
打印结果:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
上述代码看起来感觉比较复杂,那么简单一点的代码是什么样子的呢?
nums = [i**2 for i in range(1,11)]
print(nums)
解析:首先指定一个描述性列表名nums,然后,指定一个方括号,并定义一个表达式,用于生成你要存储到列表的值,在这个实例中,表达式为i**2,计算平方值。接下来,编写一个for循环,用于给表达式提供值,再加上有括号。这里的for循环后边没有冒号