列表是可变的,这是他区别于字符串和元组最重要的特点,列表可以修改,而字符串和元组不能。
通过下面的方式创建
list=['hello,world']
print list
list_number=[1,2,3]
print list_number
输出:
或者通过list()创建
list=list('hello world')
print list
输出:
使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符
list = ['physics', 'chemistry', 1997, 2000]
list_next = [1, 2, 3, 4, 5, 6, 7 ]
print "list[0]: ", list[0]
print "list_next[1:5]: ", list_next[1:5]
输出:
你可以对列表的数据项进行修改或更新,你也可以使用append()方法来添加列表项
# -*- coding: UTF-8 -*-
list = [] ## 空列表
list.append('Google') ## 使用 append() 添加元素
list.append('Runoob')
print list
输出:
list = ['physics', 'chemistry', 1997, 2000]
print list
del list[2]
print "After deleting value at index 2 : "
print list
输出:
方法:
1 | list.append(obj) 在列表末尾添加新的对象 |
2 | list.count(obj) 统计某个元素在列表中出现的次数 |
3 | list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) |
4 | list.index(obj) 从列表中找出某个值第一个匹配项的索引位置 |
5 | list.insert(index, obj) 将对象插入列表 |
6 | list.pop(obj=list[-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 |
7 | list.remove(obj) 移除列表中某个值的第一个匹配项 |
8 | list.reverse() 反向列表中元素 |
9 | list.sort([func]) 对原列表进行排序 |
a = 1, 2, 3
b = 'hello', 'world'
c = (1, 2, 3, 4)
d = ()
e = (1,)
print a, b, c, d, e
输出:
逗号分隔值,元组自动创建完成
元组大部分用圆括号括起来
空元组可以用没有包含内容的圆括号表示
只含一个值的元组,必须加个逗号(,)
tuple函数
tuple函数:以一个序列作为参数并把它作为元组。如果参数为元组,就原样返回
a = tuple([1, 2, 3])
b = tuple("hello")
c = tuple((1, 2, 3))
print a
print b
print c
my_str = 'Hello world'
print my_str
print my_str[0]
for c in my_str:
print c
print type(my_str)
my_str='Hello,%s' % 'world.'
print my_str
输出:
字符串的格式化,特别是在数据库语句中还是用的挺多,用法也多样性。这个会单拎出来做专题讲
对数字进行格式化处理,通常需要控制输出的宽度和精度:
# coding:utf-8
from math import pi
my_str = '%.2f' % pi # 精度2
print my_str
my_str = '%10f' % pi # 字段宽10
print my_str
my_str = '%10.2f' % pi # 字段宽10,精度2
print my_str
输出:
从列表、元组以及字符串可以“抽象”出序列的一些公共通用方法(不是你想像中的CRUD),这些操作包括:索引(indexing)、分片(sliceing)、加(adding)、乘(multiplying)以及检查某个元素是否属于序列的成员。除此之外,还有计算序列长度、最大最小元素等内置函数
(1)索引
str1 = 'Hello'
nums = [1, 2, 3, 4]
t1 = (123, 234, 345)
print str1[0]
print nums[1]
print t1[2]
H
2
345
索引从0(从左向右)开始,所有序列可通过这种方式进行索引。神奇的是,索引可以从最后一个位置(从右向左)开始,编号是-1:
str1='Hello'
nums=[1,2,3,4]
t1=(123,234,345)
print str1[-1]
print nums[-2]
print t1[-3]
o
3
123
分片操作用来访问一定范围内的元素。分片通过冒号相隔的两个索引来实现:
nums=range(10)
print nums
print nums[1:5]
print nums[6:10]
print nums[1:]
print nums[-3:-1]
print nums[-3:] #包括序列结尾的元素,置空最后一个索引
print nums[:] #复制整个序列
输出
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4]
[6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[7, 8]
[7, 8, 9]
str1='Hello'
str2=' world'
print str1+str2
num1=[1,2,3]
num2=[2,3,4]
print num1+num2
print str1+num1
输出
Hello world
[1, 2, 3, 2, 3, 4]
print [None]*10
str1='Hello'
print str1*2
num1=[1,2]
print num1*2
print str1*num1
输出
[None, None, None, None, None, None, None, None, None, None]
HelloHello
[1, 2, 1, 2]
Traceback (most recent call last):
print str1*num1
TypeError: can't multiply sequence by non-int of type 'list'
in运算符会用来检查一个对象是否为某个序列(或者其他类型)的成员(即元素):
str1='Hello'
print 'h' in str1
print 'H' in str1
num1=[1,2]
print 1 in num1
False
True
True
通过内建函数len、max和min可以返回序列中所包含元素的数量、最大和最小元素。
str1='Hello'
print len(str1)
print max(str1)
print min(str1)
num1=[1,2,1,4,123]
print len(num1)
print max(num1)
print min(num1)
输出
5
o
H
5
123
1
未完待续。。。
接下来会更新字典内容
本文感谢Jeff Wong的博客文章点击打开链接,菜鸟教程点击打开链接