《python》005 序列

序列及相关函数 列表、元组、集合、字典及其区别

一、列表  [ ] 有序集合,可重复

  • list.append(1个元素)
  • list.extend([要插入的元素组成的列表])
  • list.insert( 要插入的位置下标,要插入的内容)

list = [1, 6, 6]

list.append(10)

list

>>>[1, 6, 6, 10]

list.extend([1, 2])

list

>>>[1, 6, 6, 10, 1, 2 ]

list(2, "hh")

list

>>>[1, 6, 6, "hh", 10, 1, 2]

  •  list.count(元素) ---> 该元素在列表中出现的位置
>>>list = [1, 2, 3, 4]
>>>list.count(1)

2

>>>list.index(1)

0

>>>start = list.index(1) + 1
>>>print( "start = ",start)
>>>stop = len(list)
>>>print("stop = ", stop)
>>>list.index(1, start, stop)

start = 1
stop = 4
2
  • list.index(要找的值, 从哪, 到哪 ) ---> 返回值第一次匹配的位置
  • list.remove(要删除的元素名)
  • list.pop(要弹出删除的元素的对用位置 默认为尾部)
  • list.reverse() ---> 对list列表进行反向操作
  • list.reversed() ---> 返回反转的迭代器对象
  • list.sort( , , reverse=False默认为升序 ) ---> 对列表list进行排序。只有输入reverse=True时为降序
  • list.sorted(列表L) ---> 返回心列表L'  , 但原来的列表L不会变(这是与sort的区别) 
  • 分片:     lilst [ 从下表为几 : 到下标为几之前 :几个元素为一步 ]
  • 注意: 分片与拷贝, 拷贝仅仅将指针指向原list ,原list变,拷贝的新list1 也变;而分片得到的新list2 与原list已经没有关系
  • del list [ 删除第几个元素 ] 
  •  

二、元组   (, , , ,.......) 注意:" , "是关键 有序集合,元素可以重复,不支持任何修改操作

obj1 = (1)
type(obj1)

###########

obj2 = 1,2,3
type(obj2)

>>> int # 第一个是整形数据

>>> tuple # 第二个才是元组

>>>8 * (8)
>>>8 * (8,)

 >>> 64           # 列表有序

>>>(8, 8, 8, 8, 8, 8, 8, 8)     # 元组有序

  • del tuple ---> 删除整个元组,因为元组中的值是不可以删除或添加的,只能一次消灭所有
  • cmp(tuple1, tuple2) ---> tuple1>tuple2: 1 ;  tuple1 == tuple2 : 0 ; tuple1<tuple2 : -1 
  • len(tuple) ---> 元组元素个数
  • max(tuple) ---> max
  • min(tuple) ---> min
  • tuple(list) ---> 列表转为元组

 

三、集合 () 无序集合,元素不可重复

  • set(value) ---> 返回一个集合
>>>a = 'aaabbbccc'
>>>newa = set(a)
>>>a

('a', 'b', 'c')

 

四、字典 { key : value }  无序集合,元素可重复

  • key 值不可变,所以不可以用列表作为key
dict = {['Name']: 'Zara', 'Age': 7} 
 
print "dict['Name']: ", dict['Name']

输出结果: 

Traceback (most recent call last):
  File "test.py", line 3, in <module>
    dict = {['Name']: 'Zara', 'Age': 7} 
TypeError: list objects are unhashable
  •  dict.clear() ---> 删除所有元素\
  • dict.cop() ---> 返回复制的
  • dict.fromkeys(seq, value 默认为None)---> seq为一个序列

补充:

  • enumerate() 
str = "Hi!"
for each in enumerate(str):
    print(each)

输出:

>>> (0,'H')

>>> (1,'i')

>>> (2,'!')

  • zip(list1, list2,list3,....,listn) ----> 返回(list1的第一个元素,list2的第一个元素,..... , list n的第一个元素)... 将所有元素组合完
  • zip将一个或多个迭代器放入(),并返回列表,将可迭代对象对象的打包成元组,然后用list() 转换为列表
  • ‘ * ’ 也可以将元祖解压为列表

 

五、字符串

  • find( str, 开始位置, 结束位置 )---> 返回str第一次匹配的位置下标,否则返回-1
  • split(分割方式符号, 步长)
  • splitlines( 返回分割后前多少行) ---> 按 \n分割
  • join()插在序列元素中间 
>>>'$'.join("Hi!")

H$i$!

>>>' '.join("lalala")

l a l a l a

>>> str = '-'
>>>seq = ('a'', 'b')
>>>str.join(seq)

a-b
  • 格式化:
>>> "{1} are {0}".format(" you ", "How ")

How are you

 更多函数以及格式化操作符请见:字符串

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值