列表, 元组,以及字符串等字符结构以及杨辉三角的四种写法

列表的 删除复制等操作:
list.remove(value) 删除遇到的第一个值
list.pop(index)就地弹出某个值
list.clear()>>None 清楚
list. reverse反转
list.sort() 排序
***
列表的复制有浅复制和深复制之别
用=直接复制,表示地址不变,用的仅仅是链接
用shadowcopy,复制的,再列表中的列表的地址不变是链接
用deepcopy才是完全自己开了一个新列表空间

随机数的选取
random模块
dandint(a,b)返回[a,b]之间的整数
choice(seq)从非空序列中随机挑选一个元素
randrange(iterable)
random.shuffle(list)就地打乱元素
sample(population,k)随机从样本中抽取K个元素形成一个新列表

元组
列表可以变,而元组不可变,读的方法与列表类似,而没有增删改
元组中有一个namedtuple(typename,field_name,verbose=False,rename=False)
命名元组,返回一个元组的子类,并定义了字段
from collections import namedtuple
point = namedtuple(‘_Point‘,[‘x‘,‘y‘])#Point为返回的类
p=Point(11,22)

Student = namedtuple(‘Student‘,‘name age‘)
Tom =Student(‘tom‘,20)

字符串
sql = "what is your name?"
sql[5] = i

sql 是可以迭代的

jion可以将可迭代对象连接起来
"string".jion(iterable)

字符串分割
split(seq=None,maxsplit=-1)
sql.split(str)以str为分割符,maxplit可以指定分割次数
partition()是将字符串分割成两部分并保留分隔符
与之类似的还有rsplit和rpartition,是从右边开始分割

杨辉三角的四种方法
基本方法
triangle = [[1],[1,1]]
n = 6
for i in range(2,n):
    row = [1]
    for j in range(i-1):
        value = triangle[i-1][j]+triangle[i-1][j+1]
        row.append(value)
    row.append(1)
    triangle.append(row)
print(triangle)

补零法
n = 6
newline = [1]
for i in range(1,n):
    oldline = newline.copy()
    oldline.append(0)
    newline.clear()
    for j in range(i):
        newline.append(oldline[j-1]+oldline[j])
    print(newline)

对称法
n = 6
triangle = []
for i in range(n):
    row = [1]*(i+1)
    for j in range(1,i//2+1):
        row[j]=(triangle[i-1][j-1]+triangle[i-1][j])
        row[-j-1]=row[j]
    triangle.append(row)
print(triangle)

覆盖法
n = 6
triangle = [1]
print(triangle)
for i in range(1,6):
    z = 1
    for j in range(1,i):
        tmp = triangle[j]+z
        z =triangle[j]
        triangle[j] = tmp
    triangle.append(1)
    print(triangle)
bytes  不可变字节序列
            例如  b‘adc‘    bytes再写的时候前面得加个b
bytearray      可变字节数组
            例如bytearray (b‘abc‘)     bytearray得用法和list很像   比如append()   remove()    pop()  reserve()   insert()  extend()   clear()

ASCII码
            十进制的数对应的char  和hex   因为是8个字节,最高位不取,所以一般为0~127
            还有一种是utf -8

原文地址:http://blog.51cto.com/13887608/2157708

时间: 2024-10-28 20:18:59

列表, 元组,以及字符串等字符结构以及杨辉三角的四种写法的相关文章

列表生成式的复习以及生成器的练习, 杨辉三角实例(非常巧妙)

列表生成式 print('昨日复习--------------------') d = {'a':1, 'b':2, 'c':3} for key in d: print(key) for value in d.values(): print(value) for k, v in d.items(): print(k, v) for ch in 'ABC': print(ch) from collections import Iterable t = isinstance(123, Iterab

Makefile总结和反序字符数组,整体右移数组,杨辉三角!

2015.1.23今天我值日 继续接着昨天Makefile的目标开始记录:第一种:有 .PHNOY声明,但是冒号后面没有依赖文件.PHNOY:clean clean://没有依赖文件 rm *.0 temp 第二种:冒号前后的文件没有直接的依赖关系也可以没有依赖文件 .PHNOY:all 1 all: main.o f1.o f2.o f3.o 2 gcc -o all main.o f1.o f2.o f3.o 3 main.o: main.c 4 gcc -c main.c -o main.

Python 中使用 for、while 循环打印杨辉三角练习(列表索引练习)。

Python中使用for while循环打印杨辉三角练习(列表索引练习). 杨辉三角是一个由数字排列成的三角形数表,一般形式如下: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 ....................... 杨辉三角最本质的特征是,它的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和. 方法一: __author__ = 'Brad' n = int(input('请输入你想打印杨辉三角

杨辉三角,整数转为字符

可输入打印行数且美观的杨辉三角 将整数转换为字符串(考虑正负数) /*#include<stdio.h> int main() {  int i,j,line,data;  int arr[100][100]={0};  printf("请输入你要打印的杨辉三角行数\n");     scanf("%d",&line);  for(i=0;i<line;i++)  {   arr[i][0]=1;      arr[i][i]=1;  }

例子:列表--杨辉三角

首先需要了解一下什么是杨辉三角,如下图所示: 方法一:计算杨辉三角的前6行 1 yang = [] 2 # 首先创建一个空列表yang 3 for i in range(6): 4 # 循环6次输出前6行,range是从0开始的 5 row = [1] 6 # 建一个只包含1的列表row,并且每次循环都重新定义 7 yang.append(row) 8 # 将列表row作为元素添加到列表yang里面 9 if i == 0: 10 continue 11 # 这里是第一行的输出,第一行只有一个1

python之列表/元组/字典/字符串

一.列表 格式:list = ['xxx','xxx','xxx'] 性质:可以修改列表内容 copy用法: import copy names = ['Yangdanhua',['01','05'],'02','03','04'] names01 = names #直接引用 names02 = copy.copy(names) #浅copy,包括 names02 = list[names] & names02 = names[:],列表内部值未被复制 names03 = copy.deepco

python day2 列表 元组 字典 字符串

列表 #列表事例 >>> li = list((1,2,3,4,5))>>> print li[1, 2, 3, 4, 5] >>> li2 = ['a','b','c','d']>>> print li2['a', 'b', 'c', 'd']>>> #列表尾部增加元素>>> li.append(6)>>> li[1, 2, 3, 4, 5, 6] #清空列表内的元素,适用于py

杨辉三角、封装结构和集合操作(15)——IPython使用和封装解构

帮助 ? ##Ipython的概述和简介 help(name) ##查询指定名称和帮助 obj? ##列出obj对象的详细信息 obj?? ##列出更详细的信息 特殊变量 _表示前一次输出 __表示前二次输出 ___表示前三次输出 _oh 输出历史 _oh {4: 100, 5: 100, 6: 100, 10: [1, 2, 3, 4]} c=_ c [1, 2, 3, 4] pwd 当前目录 _dh 目录历史 pwd 'C:\\Users\\Administrator' cd c:c: _d

素数、杨辉三角、封装结构和集合操作(16)——集合及操作

集set 可变的.无序的.不重复的元素的集合 set定义 s1=set() ##定义空set type(s1) set s2={} ##不是set而是字典 type(s2) dict s3={1,2,3} ##非空set可以用此写法定义 type(s3) set s4={'a':1,'b':2} ##字典需要键对定义 type(s4) dict s5=set(range(5)) s5 {0, 1, 2, 3, 4} s6={'abc',2,3,3,'abc',(1,2,3),(2,3),(2,3