python3 列表_元祖_字符串_ 格式化 详细内置方法

python3新手上路_2

  • 1.列表
    • 1.1标志
    • 1.2基本操作(创建,append( ),pop( ) ,del( ), 拷贝)
      • 1.2.1创建
      • 1.2.2添加
        • append(obj)
        • insert(index, obj)
      • 1.2.3 删除
        • remove(obj)
        • pop(obj=list[-1])
        • del list(index)
        • clear()
      • 列表相关方法
  • 2.元组
    • 标志
    • 基本操作(创建及不可变性)
  • 3.string字符串
    • 定义及基本操作(+,*,读取方式)
    • 字符串相关方法
  • 4.字符串格式化问题

1.列表

1.1标志

List is a collection which is ordered and changeable. Allows duplicate members. In Python lists are written with square brackets.
https://www.w3schools.com/python/python_lists.asp
列表是一个有序和可更改的集合, 允许存在重复的成员, 在python里用中括号[]来表示

1.2基本操作(创建,append( ),pop( ) ,del( ), 拷贝)

1.2.1创建

thislist = ["apple", "banana", "cherry"]
print(thislist)
-> ['apple', 'banana', 'cherry']

1.2.2添加

append(obj)

  • 将item添加到列表的末尾
thislist = ["apple", "banana", "cherry"]
thislist.append("orange")
print(thislist)

->['apple', 'banana', 'cherry', 'orange']

insert(index, obj)

  • 指定的索引处添加item
thislist = ["apple", "banana", "cherry"]
thislist.insert(1, "orange")
print(thislist)

->['apple', 'orange', 'banana', 'cherry']

1.2.3 删除

remove(obj)

  • remove()可以从列表中删除item
thislist = ["apple", "banana", "cherry"]
thislist.remove("banana")
print(thislist)

->["apple", 'cherry']

pop(obj=list[-1])

  • pop()方法删除指定的索引(如果未指定索引,则删除最后一项)
thislist = ["apple", "banana", "cherry"]
thislist.pop()
print(thislist)

->["apple", 'banana']

del list(index)

  • del用于删除指定索引
thislist = ["apple", "banana", "cherry"]
del thislist[0]
print(thislist)

-> ["banana", "cherry"]
  • 可以完全删除列表
thislist = ["apple", "banana", "cherry"]
del thislist
print(thislist)

-> NameError: name 'thislist' is not defined

clear()

  • 清空列表
thislist = ["apple", "banana", "cherry"]
thislist.clear()
print(thislist)

->[]

列表相关方法

  1. len(list) --> 返回个数
  2. max(list) --> 返回最大值
  3. min(list) --> 返回最小值
  4. list(seq) --> 将元祖转化为列表
  5. sorted(llist) --> 对list进行排序,返回一个新的list
>>>a = [5,7,6,3,4,1,2]
>>> b = sorted(a)       # 保留原列表
>>> a 
[5, 7, 6, 3, 4, 1, 2]
>>> b
[1, 2, 3, 4, 5, 6, 7]
 
>>> L=[('b',2),('a',1),('c',3),('d',4)]
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
>>> sorted(L, key=lambda x:x[1])               # 利用key
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
 
 
>>> students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
>>> sorted(students, key=lambda s: s[2])            # 按年龄排序
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
 
>>> sorted(students, key=lambda s: s[2], reverse=True)       # 按降序
[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
  1. reversed(list) --> 逆序排序,返回迭代器
L = [1, 2, 3]
for i in reversed(L):
    print(i)
# 3
# 2
# 1

7.list.reversed()

L = [3,5,2,1,4]
L.reverse()
print(L)
# [5,4,3,2,1]

8, list.append(obj) --> 追加对象到list列表里
9. list,count(obj) -->统计某个元素在列表中出现的个数
10. list.extend(list) --> 追加一个可迭代对象到list (比如列表里加列表)

L = [1,2,3]
A = [4,5,6]
L.extend(A)
print(L)
# [1,2,3,4,5,6]
# !!!! 该方法返回值为None,修改的是原列表
  1. list.index(obj) --> 计算list中某个对象第一次出现的位置索引
  2. list.insert(index, obj) --> 在指定位置添加一个元素
  3. list.pop(obj=list[-1]) -> 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
  4. list.remove(obj) --> 移除第一个匹配的指定对象
  5. list.clear(obj) – >清空列表,等同于del list[:]
  6. list.copy(obj) --> 用于复制列表,等同于list[:]
  7. ‘str’.join(list) --> 将列表变成字符串
  8. split(seq,maxsplit=-1) -->切割str变成list
b = 'my..name..is..bob' 
print(b.split()) 
# ['my..name..is..bob'] 
 
print(b.split(".."))
# ['my', 'name', 'is', 'bob'] 
 
print(b.split("..",0))
# ['my..name..is..bob'] 
 
print(b.split("..",1))
# ['my', 'name..is..bob'] 
 
print(b.split("..",2))
# ['my', 'name', 'is..bob'] 
 
print(b.split("..",-1))
# ['my', 'name', 'is', 'bob'] 
 
可以看出 b.split("..",-1)等价于b.split("..") 

2.元组

标志

  • 元组是一个集合是有序的和不可改变的。在Python中,元组是用圆括号编写的。

基本操作(创建及不可变性)

  • 可以直接通过索引访问
  • 两个内置方法: count()和index()
  • 可以for
  • 可以len(tuple)
  • 不可改变, 不能删除或者添加
  • 可通过tuple()来构造元祖
thistuple = tuple(("apple", "banana", "cherry")) # note the double round-brackets
print(thistuple)

->("apple", "banana", "cherry")

3.string字符串

定义及基本操作(+,*,读取方式)

  • python中的字符串文字由单引号或双引号括起。
  • 三引号可以跨越多行,其中所有空白字符都包含在内

字符串相关方法

  • str.capitalize() --> 返回原字符串的副本,首个字符大写,其他小写
  • str.casefold() --> 返回原字符串消除大小写的副本
  • str.center(width, fillchar) -->返回width长度的字符串,是用fillchar填充两边空位, 如果width小于等于len(str),则返回原str
  • str.count(sub, start,end) --> sub在str里的出现次数,
  • str.encode(encoding=‘utf-8’) -->返回原字符串编码为字节串对象的版本。 默认编码为 ‘utf-8’。
  • str.endswitt(suffix, start, end) --> str以suffix结尾返回True,否则为false
  • str.expandtabs(tabsize=8)
  • str.find(sub[, start[, end]])
  • **str.format(*args, kwargs) -->执行字符串格式化操作。 调用此方法的字符串可以包含字符串字面值或者以花括号 {} 括起来的替换域。
  • str.format_map(mapping)
  • str.index() -->类似于 find(),但在找不到子类时会引发 ValueError。
  • str.isalnum()
  • str.isalpha()
  • str.ascii()
  • str.isdecimal()
  • str.isdiget()
  • str.numeric()
  • str.isprintable()
  • str.isspace()
  • str.istitle()
  • str.upper()
  • str.jion() -->返回一个由 iterable 中的字符串拼接而成的字符串
  • str.ljust(width[, fillchar])
  • str.lower()
  • str.lstrip([chars])
  • str.partition(sep)
  • str.replace(old, new[, count])
  • str.rfind(sub[, start[, end]])
  • str.rindex(sub[, start[, end]])
  • str.rjust(width[, fillchar])
  • str.rpartition(sep)
  • str.rsplit(sep=None, maxsplit=-1)
  • str.rstrip([chars])
  • str.split(sep=None, maxsplit=-1) -->分隔,返回列表
  • str.splitlines([keepends]) 0–>返回由原字符串中各行组成的列表,在行边界的位置拆分。
  • str.startswith(prefix[, start[, end]])
  • str.strip([chars]) -->返回原字符串的副本,移除其中的前导和末尾字符
  • str.swapcase() ->返回原字符串的副本,其中大写字符转换为小写,反之亦然。
  • str.title() -->返回原字符串的标题版本,其中每个单词第一个字母为大写,其余字母为小写
  • str.translate(table)
  • str.upper() -->所有区分大小写的字符 4 均转换为大写
  • str.zfill(width)

4.字符串格式化问题

  1. ‘%’ 字符,用于标记转换符的起始。

  2. 映射键(可选),由加圆括号的字符序列组成 (例如 (somename))。

  3. 转换旗标(可选),用于影响某些转换类型的结果。

  4. 最小字段宽度(可选)。 如果指定为 ‘*’ (星号),则实际宽度会从 values 元组的下一元素中读取,要转换的对象则为最小字段宽度和可选的精度之后的元素。

  5. 精度(可选),以在 ‘.’ (点号) 之后加精度值的形式给出。 如果指定为 ‘*’ (星号),则实际精度会从 values 元组的下一元素中读取,要转换的对象则为精度之后的元素。

  6. 长度修饰符(可选)。

  7. 转换类型。

你可能感兴趣的:(python)