【Python】列表~深入篇

列表是一列按特定顺序排列的元素组成。

在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 Lincoln!
Ford
I like Ford!
Hummer
I like Hummer!
Audi
I like Audi!
Skoda
I like Skoda!
Toyota
I like Toyota!
I really like car!

第一句代码:定义一个汽车品牌列表

第二句代码:循环列表

第三句代码:打印各个品牌

第四句代码:拼接字符串打印,循环打印”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循环后边没有冒号
posted @ 2017-10-31 22:27  OLIVER_QIN  阅读(424)  评论(0编辑  收藏  举报