列表
列表非常适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的,这对处理网站的用户列表或游戏中的角色列表至关重要。
读取用户输入并存储
message = input("Tell me something, and I will repeat it back to you: ")
show the bold words on screen, get user input string and store it in the message
Python 2.7使用raw_input()而不是input()来获取输入。
responses = {}
while xx:
name = input("What's your name? ")
res = input ("Comments: ")
responses[name] = res
创建列表
现有一个简单的列表
bicycles = [‘A’, ’B’]
得到列表中的值
bicycles[0] -> A //得到第一个值
bicycles[-1] -> B //得到最后一个值。
//如果列表为空,将会报错
更改列表中的元素
bicycles[0] = ‘C’
print(bicycles[0])
C
添加删除元素
bicycles.append(‘D’) //将D值放置尾部
bicycles.insert(0,’value’) //第一个数字0代表元素‘value’将要插入列表中的位置
del bicycles[0] //删除指定位置的元素
bicycles.pop() //返回最后一个值
bicycles.pop(0) // 返回指定位置的值
bicycles.remove(“D”) //delete ‘D’ from the list
//注意:上述操作只会删除第一个被找到的符合条件的值, 若希望移除全部:
while 'cat' in pets:
pets.remove('cat')
给列表排序
bicycles.sort() = [‘A’, ‘B’] //按照字母表顺序排序
bicycles.sort(reverse = True) = [‘B’, ‘A’]
//注意: list.sort()会改变list。如果这个并不是你希望发生的:可以尝试使用 sorted(listName)
len(listName) //得到listName的长度
//小技巧:当你出现index error时,你可以尝试将列表或者列表长度打印出来
操作列表
#不是一个列表
for value in range(1, 4):
print(value)
1
2
3
python中创建列表
numbers = list(range(1, 5))
print(numbers)
[1,2,3,4]
#得到间隔为2的等差数列
list(range(1, 5, 2))
[1,3]
#1<5, 1+2=3 3<5, 5!<5
#从1到5的数字乘方
squares = [value**2 for value in range(1,6)]
print(squares)
[1, 4, 9, 16, 25]
基本操作得到列表的最小最大总和
digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
min(digits)
0
max(digits)
9
sum(digits)
45
得到列表多个位置的值
list = ['James', 'Mary', 'Tom', 'Jane']
#得到前四个值
print(list[0:4])
['James', 'Mary', 'Tom', 'Jane']
#得到前四个值
print(list [:4])
['James', 'Mary', 'Tom', 'Jane']
#得到第2个位置往后的全部值
print(list [2:])
['Tom', 'Jane']
#得到最后三个值
print(list[-3:])
['Mary', 'Tom', 'Jane']
复制列表
copy_foods = my_foods[:]
copy_foods = my_foods
#不可以!这里将my_foods赋给copy_foods ,
#而不是将my_foods的副本存储到copy_foods 。
#这种语法实际上是让Python将新变量copy_foods
#关联到包含在my_foods中的列表,因此这两个变量都指向同一个列表
元组
列表提供一种方式让我们增加删除更改数据,但是,有时候我们需要创建一系列不可修改的元素。元组可以满足这种需求。
如:
my_tuple = (100, 50)
print(my_tuple [0])
100
print(my_tuple [1])
50
试图修改元组的操作是被禁止的:
my_tuple [0] = 200 #不可行
希望更改的话:
my_tuple = (400, 100)
for the_tuple in my_tuple :
print(the_tuple)
400
100